miu ^ittrc itiith ^tr mm
(Eire 3Itmex/StttrLnir ^~ortbi\.mi>rtnm User drrntps Siehislrtter
MEMORY MAP
ADDRESS
ROUTINES
2 Information and Chairmen — TreaSury Note$
3 Input/Output — by Abed Kahale
3 Allegations of Web Page Theft
8 D, G Smith & Jeff DeCourtney
8 Sinclair E-Mail List
9 From the Chairman' s Disk — Donald Lambert
FILES
10 The Platform - I — by Jeff Burrell
ADDRESS
FILES
14 QL Hacker's Journal
18 Diskette Menu TS-2068 — David Solly
21 TS-1000 I/O Board — Joe Rampolla
SUBROUTINES
23 Unclassified Ads
T/SNUG Information
We wish to support the following
platforms: ZX-80/81, TS-1000,
Spectrum, TS-2068, Z88 and QL. If you
have any questions about any of these fine
Sinclairs, contact the
Chair 111 a ii
Chief Motivator
Donald S. Lambert
738 Gunnar Ln.
Forsyth, IL 62535
(217) 875-8043
Vicc-€lisiii*ineii
X88 Library
Dave Bennett (HATSUG)
1275 Timber View Dr
Mechanicsburg, PA 17055-9146
717 732-4374
QL Hacker's Journal
Timothy Swenson
2455 Medallion Dr.
Union City, CA 94587-1914
swensonte@geocities. com
TS-2068
Rod Humphreys (VSUG)
10984 Collins PI
Delta, BC V4C 7E6 Canada
604 583-2819
QL PD Library
John Donaldson (CATUG)
835 Foxwood Cir.
Geneva, IL 60134-1631
630 232-6147
AERCO & Z80 Emulator
Keith Watson
41634 Amberly Dr.
Mt. Clemens, MI 48038
BBS — ==GATOR==—
Bob Swoger (CATUG)
613 Parkside Cir.
Streamwood, IL 60107-1647
630 837-7957 Work 847 576-8068
Any of the above can also be
reached by E-Mail through the
Club BBS 847 632-5558
ZXir QLive Alive!
Is the newsletter of T/SNUG, the
Timex/Sinclair North American User
Groups, providing news and
software support to the T/S com-
munity in a VOLUME of four
newsletters per year; beginning with
the Spring (March) issue.
T/SNUG's main goal is to
preserve and encourage the
use of Sinclair computers
by providing an open
forum for the exchange of
knowledge, building and
maintaining of software
libraries. Providing
vendors, repair service and
members with free ad
space.
It is the user groups and individual
subscribers, rather than the vendors,
that provide the pecuniary support
for this newsletter. Vendors and
developers receive this newsletter
free of charge, though contribution
from vendors and user groups is
gratefully accepted Please support
our vendors and service providers
whenever possible.
If you have a problem or you have
solved a problem, please share it with
the rest of us No problem will be
considered unimportant.
Eilit«r/Treii«ifrer
Publisher
ou can keep T/SNUG alive by
an annual contribution of $12
for one VOLUME made payable to
Abed Kahale Send check to>
ABED KAHALE
3343 S FLAT ROCK CT
SIERRA VISTA AZ 85650-6874
520 378-3424
Back copies are available for
$1.00 each postpaid.
As of March 7 , 2000, we have a
balance of $940 12
Article
Contributions
Send in your articles by disk, hardcopy mail, or
e-mail and your inputs to —
Abed Kahale
^^^E^majlj^^
*W eicame
C&ATCOM
Sills
:. ......... . ■ ... : , . ■. , .... :■.
To better inform the Sinclair Community, three
24-hour a day BBSs are now provided to serve
you. You are encouraged to exchange mail and
use the files sections of these boards. Bulletins and
ads are available to all
Q-BoxBBS 810 254-9878
Utica, Michigan
SOL BBS 520 882-0388
Tucson, Arizona
Club BBS 847 632-5558
Arlington Heights, Illinois
UJ L.ur HUL J
http://users.aol. clubbbs/tsnug/
http://www.outlawnet.com/~jboatno4
If you know the Internet E-Mail address of a
Sinclair user, but do not have access to Internet,
simply address your E-Mail to GATOR Sinclair on
the 24-hour Club BBS and include the name and E-
Mail address of the user you wish to reach Then
check the Club BBS from time to time if you expect a
reply,
We encourage you to exchange mail and
contribute to the UPLOAD section. Call and
register using your first, last name and phone number
along with a password you won't forget Write It
Down! Do not try to do anything else at this time
When you call-in the next time, you will have
Level 5 security and be able to enjoy full user
privileges The BBS has smaller sections called
conferences Select "J " for "Join a Conference"
Select "TIMEX" to get into the Sinclair Section. The
mail you then read will only be from other T/S users.
Use extension .ART for articles, ADS for ads and
.NWS for news when UPLOADing
I
J or help, contact the SYSOP, Bob Swoger, by-
leaving a message, mail, E-Mail or phone
CENG1 08@email mot. com
ZXir QLive Alive!
Spring 2000
Input/Output
Hi again,
I'm about 45 minutes north of Denver in Longmont,
Colorado. Also, is there an email for John Oliger? I
would like to find out about the Safe DOS system he has
I recently got out my TS 2068 to show my 7-yr old and he
likes the games.
We mainly play Starion on the Spectrum side of the
ROMSwitch So, I figured I'd put together the whole disk
system to show him what's going on. Since I work at
Seagate, I was able to pick up a power supply for the disks
that already have.
Anyway, sorry for rambling, I finally got the system
to work and had forgotten how much software 1 had on
disk. I also built a RAMDisk, but I believe there are some
errors in either the soldering or assembly or both 1
emailed Larry Kenny to see if he ean assist me in repairing
it If he can't, is there someone you know that I could send
the board to for evaluation and repair Of course I would
pay for the service
I currently have a little 9" TI monitor When I called
up MScript or Tasword, the 64 columns were really hard to
read. Do you know of a monitor that gives a cleaner
'picture' for the smaller typeface? I saw a lot of items for
sale in the Ad section, but am not sure what to get Any
assistance would be greatly appreciated. Sinclairly,
Paul Anderson
1 put a bid, (through the mail) on the items, after I
sent the text to you. It was a lowball bid of $50 00 for the
whole thing . I didn't think that I had bid enough, and I was
surprised to find out, that I had one I've been talking to
John Rish of Home Electronics Service in San Antonio,
Texas. He say's that, they can change the power supply
over to the US electric current. I'll keep you posted
HAPPY HOLIDAYS !
Dane Stegman
mmmmwm
BEWARE
i wanted to drop you a note to let you
know that there is a fellow who claims to be
a TS enthusiast and tries to set up trades
and sales with unsuspecting folks. His
name is Phillip Ewing. I have been
contacted by a number of people who have
said that their dealings with him have been
less than satisfactory. The fellow has even
stolen the web page I've been working on
and is calling it his own.
Take a look at :
http://www.topcities.com/Computers/ts1000/
TimexShistory.htm
I thought I should warn you so that if you
hear or are contacted by anyone about him
you'll know to steer clear of him. Somehow
the word should get into ZQA! So that he
doesn't cheat any of the membership. I am
notifying everyone I know about this.
Take care,
Jack Boatwright
Rod, ~~
Thanks so much for the help and concern The web
page is now down (at Least at that url), but I suppose it
could come back as a different Address.
Anyway, I appreciate what you did to help.. I had
sent him 2 emails and Contacted his isp yesterday, but
haven't heard back from either one.
Take care and let me know if there is anything I can do to
Tepay your kindness,
rodh wrote
>From: "Ewing, Phillip A" <pewing@glsp.org>
>To '"rod h'" <rodh@lightspeed be ca>
>Subject: RE what the hell??
>Date Mon, 3 Jan 2000 12:00:20 -0500
>lt is off.
This guy is a real loser, he's about 29, works for a law
firm in Atlanta, Georgia and has made enemies with some
TS folks I know Mostly trading with them and not
following through with his part But when he took all my
work, photos and information and called it his own he
really pissed me off (sorry for the language)! I will not
tolerate theft. His page is now down Hopefully for good,
but it could resurface with a different address
On another note, if you are ever contacted by a fellow
named Phillip Ewing please be very careful dealing with
him There are a number of people he has dealt with for
Timex Sinclair items in a less than satisfactory way He
has even stolen the web page I have been working on and
is calling it his ow n.
Did you see the ruckus about the guy in Atlanta,
Philip Spivey, copying Boatwright' s web page exactly and
just putting his name where Boatwright's had been? Rod
Humphrey really chewed him out. Then Spivey apologized
like he was 1 5 years old when he is really 29 years old
His excuse was that nobody ever respected him
This guy has not been a good person He has had bad
dealings with at least two T/SNUG members (Glen
Goodwin and Luke Perry) besides trying to steal the web
page. There are others (non-members) who have contacted
me as well
Please be careful in how you provide the information
in ZQA!, I do not want to say something that I (or you)
could get sued for saying Probably best not to provide
names (mine is OK) unless those folks say it's OK
Just a note to warn everyone of unscrupulous people
lurking on the internet ready to take our money and other
things
Please take care in dealing with folks on the internet,
be cautious and know who you are dealing with Recently,
the Timex Sinclair web page I have been working on was
completely stolen and re-advertised as someone else's
work. I also found out that the person who did this had
also been trading with people for Timex items and not
fulfilling his side of the bargain, promising something that
ZXir QLive Alive!
Spring 2000
sounded good but never delivering, or not delivering what
was promised.
As in everyday life, there are criminals lurking on the
internet taking advantage of unsuspecting people for their
own gain
Here are some things to keep in mind when dealing with
people on the internet :
Fraudulent sellers will often adopt multiple e-mail
accounts that allow them to switch identities at will.
Criminals who prowl auction sites can use fraudulent
credit cards to establish legitimate-appearing accounts.
People will promise to give you something that you want
for something that you have and not follow through even
though you have Remember, if something seems too good
to be true is probably is,
Jack
Good to hear Abed. I'm thinking of getting some
upgrade's done on my PC I haven't heard from John Rish,
yet, about the Spectrum computer. As soon as I do, I'll let
you know!! Thanks!
Dane Stegman
Yeah! I lost my address book in the process of
bigger and faster. But I still have the
membership addresses in my trusty TS-2068.
Please put a comment in N/L asking if
anyone ever heard of ain
emulator for
TS-2068 to Mac.
JOAN KEALY
PO BOX 1439
BRACKETTVILLE TX 78832-1439
hjkealy@hilconet.com
Hi Abed,
My wife forwarded your message to me here.
Anyway, I need to be my RAMDisk repaired I emailed
Larry Kenney and he was no help I have been emailing
with Jack Boatwright and he sent me the directions to
build the RAMDisk. I couldn't find mine.. So, I need to
review the process and find where there may be a cold
solder or a fracture I've gotten my entire system set up
and running again
It took some time, but I got the cobwebs out and it
works fine Can't say the same for many older PCs. Oh
well Thanks for asking. Sinclairly,
Paul Anders on
I'm sending this mail because there's a great new
service called MSN Messenger Service that will help us
stay in touch. I'm hoping you will sign up so we can
exchange instant messages online.
It's fast and easy to sign up, and it's free! Just go to
the MSN Messenger Service web site to get more
information and to install the software
Once you've installed MSN Messenger Service, add
me to your list of contacts: my e-mail address is:
k_david_solly@hotmail . com .
(You might want to write my address down because you
will need it when adding me to your list.) I look forward to
sending you an instant message soon!
Note If the link above doesn't work, copy and paste the
following URL into your browser
http //messenger msn com/1 cen/fri end/default asp?userema fe
il=k_david_solly@hotmail . com&username=David
Just letting you know of our new email address
Since Prodigy took away our local access number, we
switched our ISP. Anyway, please note that there isn't any
'o' in the last name. Our new ISP is called Peak-to-Peak;
hence the 'peakpeak' So, please send your emails to this
address since we will be canceling our Prodigy account
this week. Thanks for your support .
Also, I know that some of you will receive duplicates
of this message due to multiple addresses in our list I
apologize. I just selected all addresses to send this
message Take Care,
Paul and Debbie Anderson
pandersn@peakpeak.com
topping
ter places got their
n facts, legends
aginations.
Odds are you'll look
twice nl the cti> limits sum
near Tom and Sharon
Kidd's Kentucky home
"l egend suvs residents
planned io name the town
Ml. Washington, but I he
Post Office said that there
were enough Wellingtons
in the nation." Sharon says.
" To make sine their second
application was accepted,,
ihey proposed something
more uncommon."
The Kidds' daughter
Jennifer points out (he pc
culiar outcome above.
Abed I mailed my check for another year's
subscription to ZXir QLive! Newsletter I've shipped my
Spectrum +2 to John R Rish of Home Electronics Service,
San Antonio, TX, last week He'll let me know, what I
need to get it up and running. I'll keep you posted
HAPPY NEW YEAR 2000! ! !
Dane Stegman
Firstly I found you name & address in a file on Tony
Firshman's BBS, QBBS, called QLusers.txt & I was
wondering if you could help me?
I used to use my Sinclair QL extensively from 1984
through to 1994, when fate allowed me to afford a PC
Since then I have had my original QL, ExpandeRAM, Trey
Card & disk drives <STOLEN> Consequently I no longer
have access to my copy of Toolkit II.
I have now discovered QLay emulator to am under
Windoze, so I'm please to return to work on programs I
developed a long time ago
Although QLay can use the image of the Minerva
ROM, which is a good thing, as I need PTPE's, SELecting
Strings * Integers, etc, I still need an image of the Toolkit
II ROM, that was in the disk interface. My programs use
many features of the Toolkit, as well as Minerva features,
such as-J^JT, BGET, etc
If you could send me copy of the Toolkit II ROM I
ZXir QLive Alive!
1-
Spring 2000
could then use this with QLay & the Minerva ROM & then
continue to develop my old SuperBASIC programs T1A
Tel: +44 705 069 5844 - Fax +44 705 069 5845
Email Address: QL-user@cslcwu free-online co uk
IP Arir!rf»ec nnn_'?_rtQ r\rvA ti*]\rtrr\ n<=>t
Using Aureate Group Mail Free Edition
http:/7www group-mail com/' 1
Andy Barber
i t»m iui vvfctn_/u;y n/io ht^^^my^ L\J UflG VI (Jul tll&rnDQi S,
Ai Feng who is very well versed with the QL
Sender : QL-user@cslcwu , free-online, co. uk
Thanks tor the reply, the problems is now sorted.
Regards,
Andy Barber
Sender: P.Liebert@t-online.de
Please tell it to all your friends: ZX-81 users
meeting 17 - 19 march 2000 in Germany.
Everyone who loves SINCLAIR ZX80, 2X81,
riMEX TS1000, TS1500, JUPITER ACE,
PC8300, POWER 3000 is invited to participate:
Sfs the 4th big meeting of German 2X81 users
group ZX-TEAM.
For more information visit my updated
homepage: <www.zx81.de>
ZX-TEAM-Homepage: http://www.zx81 .de
2X8 1 -Web-Ring http://home.t-
online.de/home/sinclair_zx81/zx8l_wbr.htm
Peter Liebert-Adelt
I put a bid, (through the mail)on the items, after I sent
the text to you, It was a Sowbaii bid of $50 00 for the
whole thing I didn't think that i had bid enough, and I was
surprised to find out, that I had one. Pve been talking to
John Rish of Home Electronics Service in San Antonio,
Texas. He say's that, they can change the power supply
over to the US electric current I'll keep you posted
Dane Stegrnaa
Hi Abed,
Got the Winter edition of the newsletter today
Thanks Thanks for running my request for a T/S2068
Microdrive I did end up getting a LarKen/OIiger disk
setup through Jack Boatwright along with some software
1 just thought I would add something that you might want
to run in the next issue
There is a fellow in my area (Portland, Oregon) that
does electrical repair on electronics (computers, audio,
etc ) I guess he used to work for Intel as a engineer and
ne really knows his stuff. Anyway, he is able and willing
to do repair work on old Timex/Sinclair gear as long as he
has a schematic and spare parts (or if the parts are
available locally) I was thinking now that since
"Computer Classics" is out of business, this might be an
alternative If people are in need of T/S repair work they
can contact me and I can run it by him, or they could
always call him directly. His number and address are
given below:
Bill Mathls
Pro Digital Electronics
323 SE 28th Ave.
Portland, Oregon 97214
503-232-3200
Luke Perry
ZXir QLive Alive! 5
i am working on an article or column for ZOA on
how to get the Z88 to talk and listen to the IBM PC, The
Compaq refers to things attached on the back as TWAIN
devices and the Z88 refers to them as WEIRDOs. So I am
trying to marry a weirdo to a TWAIN and J am a! most
csfi-oi.J rtf «.-h~t sarl-i rswiTVltar nnmnlsm ~* !
**»-iw.*v* v»i v-y liu-i -wct^li vvmpuivi vv ill 1 iipi tli ii clt/wCIi L liclVC
progressed far enough that I am re&dv to trv it i have the
cable between set up and the software for the Z88 is on a
plug in EPROM and the software is loaded for the
Compaq. I had to get an adapter for the 25 pin serial cable
to the 9 pin the Compaq has I know it can be done so that
is a good point in my favor
To load the program in to the Compaq I had to get
into DOS. The Compaq has DOS 7 0 and the DOS manual
that I have is 5 .0 but I got that done after 1 realized that the
exact directions were in the PC-LINK User- Guide.
Don Lambert
Weil, Abed, he charged me $25 for a half hour of
time, to replace my defective floppy drive with a used one.
T1 „, _+ tf"^ nlnci „+~.j-~ ~_1_„ +
1 11C petit U!J5L J>a. plU& SUilC SellCS UlA..
I report this, just to let the Sinclair community know,
that there is a guy out here, who will patiently pick apart a
customized piece of equipment, in order to diagnose and
repair H And, you can see how he charges !
His name is "Jon", and he can be reached below :
Pro Act Consulting, Inc.
2660 N, Houghton Rd.
Tucson, AZ 85749
520-749-5395, fax 520-749-3626
email <proactmd@ao!.com>
Well, the little printer finally gave up the ghost !
So, I'm in the market.
Bo you know wlier© i can
£|3t a 2C4C prirst^r
asp. with extended ca^!a
(in order to better fit into my configuration .)
Sysop, SOL BBS @ 520-882-0388
520-882-3972 (voice)
emanon@azstamei com (email)
David E. Lassov
2590 N. Jordan OR
T ucson AZ 85745- 1 132
Dear Abed,
The other day while sorting a few boxes of stuff, I
ran across a printer IF & cable which I didn't know 1 had
As I recall, it's for connecting a Timex 2068 to a dot matrix
printer. I have no further use for the cable/IF plus two
Epson dot matrix printers (a 9 pin LX-800 with a non-
tractor feed and a tractor feed and a box of tractor feed
paper) The other printer is a 24 pin 3250 Epson 1 also
have quite a few used spare ribbons, for both printers,
which 1 had been "re-inking" with mineral oil
I'd be willing to TRADE
or SELL, ANY or ALL of thm
above for the best offer.
If anyone is interested, I can be contacted at: Email:
oranur@juno.com
Phone: (716)691-9495
Fred Henn
230 N. French Rd.
Amherst, NY 14228-2033
Spring 2000
LE >
(My hobbies are Electronic organs, Electronics,
Computers, Music, and Gardening).
I recently made contact with our "old" local Timex
Tech (Conrad Zaranski) and I've had a fair amount of
Email correspondence with the local gentleman (Dane
Stegman) whose name & Email address you kindly
furnished awhile ago. Dane recently "picked-up" a
Sinclair Spectrum computer
BTW, Abed, have you heard anything more on Uncle
Give's new laptop (which he was to start marketing this
year)? Sinclairly,
Fred Henn
oranur@juno .com
Thanks for the back issues: they were informative
and fun to read The adverts alone are worth the price of
admission!
1 . I am working at the interface as I get time
2. I have finished a semi-commented disassembly of the
2068 home ROM and EXROM I have assembled the
result and found them to be byte-for-byte identical to
the ROM images I downloaded from the net
3 I have been working on a Windows based debugger
for checking my code.
JeffBurrell
JBurr ell@endocardial . com
Hi Abed,
I have been looking over my T/S 1000 program for
that Byte-Back I/O board and I was wondering if you
know if a BASIC compiler was still around for the old
Timex. I don't know if the P AUSE statement would be the
same if the BASIC program was compiled into machine
language, but I never got into the compilers Don't go to
any trouble about it, but I thought I'd ask if you might
know, off the top of your head
I also was wondering if that Byte-Back I/O board
works in FAST mode. The Byte-Back modem was
sensitive to FAST and SLOW mode and would sometimes
crash I don't want to try it since I don't want to damage
anything on that I/O board Could you also ask if anyone
else is using that BB-1 I/O board by Byte-Back if it isn't
too much trouble? Take care,
Joe Rampolla
jp rampolla@blazenet.net
Thanks again for Mr. Liebert-Adelt's address I will
keep you posted!
Hi Abed, in regards to a TS2068 disk drive interface,
I believe Jack already got rid of the one that he had I
know it is kinda late in the game to be looking for one of
these things but I thought it would be worth a try. Maybe
you could do me a favor and add in the newsletter that I
am also looking for a microdrive system for the
TS2068, I believe it was made by A&J I sure would
appreciate it! I am looking forward to my first copy of the
newsletter. Thanks for all of your help Abed .
Luke Perry
The RAM and ROM are presently mapped into the
dock space using the ROSCS from the 2068 connector (I
have not been able to find a source to tell me how to use
the bank selection logic in the 2068 CPLD) At any rate, I
am presently fixing the self-inflicted wounds caused by
wiring errors (yes, it's point-to-point hand wired [weird?])
and design errors. I should have the hardware wrung out
by the first of the year. It will take this long because I am
doing this in my "spare" spare time.
ZXir QLive Alive! 6
Would the T/SNUG be interested in some written
information on this project. I can submit it in PDF format,
I can include schematics and a description of the design
and updates as available on the drivers
I am also in the process of disassembling and
commenting the system ROMs for the 2068 Is there a
source of commented code out there? I have the Spectrum
disassembly, but there are enough differences (and the
comments are in German) that it is more trouble than it is
worth. I am using Ian Logan's disassembly of the ZX81 as
a guide.
JeffBurrell
JBurrell@endocardial.com
Please sendZQA! To
Joao Paulo Vaqueiro Encarnado
Rua do Castelo, N°24 R/C Esquerdo
Pirescoxe
2695-247 St a Iria de Azoia
Portugal
On the internet he goes by the name Johnny Red and
has a web site called "Timex Computer World" which is
linked on the bottom of the page at my site. Take care,
Jack boatwrigh t
Hi Abed,
Got a nice reply from Peter, and seems like he might
be able to answer a few of my questions Just like I
suspected, I might have a few problems to work out before
I could use the compiler, but at least I am on the right
track. Thanks again for the help! Take care,
Joe Rampolla
The three pages of schematics I sent are all for the
interface board I am currently using the Altera 7128 for
glue logic but have just completed the design to use an
Altera 10K10 FPGA for the next go if anyone else is
interested If there is no further interest in the interface
among the 2068 group 1 will probably finish it up the 7128
version for my own education and then press on to
building a solid-state disk for my Z88 using the Toshiba
parts and a PIC 17C42 or 17C44 processor as I mentioned
in my first article I am planning to make the SSD
compatible with the Tandy portable drive spec so that
current Z88 software could use it
By the way, does anyone still have QLs to sell? I
would like to have a complete stable of the main Sinclair
US machines
JeffBurrell
4955 Emerson Ave N
Minneapolis, MN 55430
JBunell@endocardial.com
I have been in contact with John Rish of Home
Electronic Service regarding the Spectrum +2 computer I
will keep you posted Thanks
Dane Stegman
26 Marshall Ave.
Akron, NY 14001
I have been studying the relationship of film
photography and digital photography and that is a go from
circles of confusion (that is a technical term relating to the
sharpness of an image on film) to pixels While they are
terms that mean about the same in the type of photography
they refer to they cannot be used with the other type
directly since they measure different things
They both have something to do with resolution of
the resultant picture but go at it a different way . Actually,
Spring 2000
pixels are more like the gram size of the silver compounds
than anything else I went to a photographic school in
Dallas, TX way back in 1948-49 but 1 never followed up in
that career Nor did 1 try to keep up with the advancement
of the technology until the last few months and I am trying
to learn more about marrying a camera to a computer by
way of digital cameras. I don't know if i want to spend
umpteen bucks for a camera that has less resolution than a
cheap point-and-hoot camera
Don L am hert
My poor eyesight doesn't allow me to use my TS
equipment very much, but still enjoy every issue of
T/SNUG very much Keep up the good work
Ear! Kielgiass
Here is my annual contribution of $12, the other $8
you can put in the treasury I was reading about David
Lassov complaint about Computer Classics and his disk
having problems but my problem, 1 think, is the LarKen
interface 1 can not get any of my disks to RUN the drives
It START RUN a coupie of seconds 1 have 5 drives and
they all do the same thing. The 2068 runs good with the
tape drive, would like to get the LarKen interface fixed if
anyone you know fixes them 73 es.
Harry Miller
16 West St.
PO Box 62
Berlin, MA 01503
I am working apace at the interface, but haven't had
much time since the first of the year
PS Put the extra in the treasury.
Jeff Barrel!
Hello Abed, please find my check for membership to
ZQA! Newsletter I. am looking forward to another- year of
membership. 1 do have a question of you if I might ...
How do I go about rinding what software the group has in 1
its public domain library? I did email someone whose
name was listed in the newsletter, but that was a couple
months back and I have yet to hear a reply
Thanks Abed and thanks for all of the work you put !
into keeping the Timex and Sinclair computers Alive!
Luke Perry
<doidyM@vahoo.com>
809 J Q Adams 557-9978
Oregon City, OR 97045
' '" .£ , & , •/
Regarding your asking if I am looking for
ZX81/TS1000 software were you going to put in a.
request in ZQA! for me? What I am really looking for if
you could include it in the next issue, is a
M^ft MA
fliQCf#ifi
for my TS2068 (1 believe it is the TS-2Q5Q) ] would
really appreciate it if you could include that. Thanks Abed
and here is my address:
Luke Perry
3708 NE 109th Ave. #115
Vancouver, WA 98682
_ doidy34@yahoo. com
Your site was recently submitted to OpenHere.com.
We have reviewed your site and decided to include it as
iuiiU ws.
Link.: http://users.aol com/clubbbs/tsnue/
Title: Timex/Sinclair NorthAmerican User Group s
ZXir OLive Alive! 7
Description: OpenHere Category:
http //www.openhere com/tech 1/softwar e/operating-
systems/sinciair/organisations/
As you are listed as a contact person on the home
page of this site, I am dr opping you a quick note to let you
know about your inclusion on OpenHere
OpenHere is one of the 10 largest index and search
sites on the Internet and is specifically focused on creating
resources for the family.
You can dynamically modify your site's listing at any
time, or include your site's listing in other categories on
WUVIU. 1VI V. ^XJ 111 .
When you modify your site's listing, it is
automatically piaceu at the top of the category in which it
is included, and is placed first in the search engine results
for the keywords relating to your site
To modify, add or delete your listing
1. Go to the OpenHere category where your site is listed
2. Click on the "Suggest a Site" link
3 Follow the instructions for changing your listing
Ail of the modifications you submit to
OpenHere com are processed in real time As soon as you
see the response to your submission, your site listing
should be updated
OpenHere is frequented by both children and families As
a result, www OpenHere com does not include links to
material which is illegal to display to minors
If you have a question, or need help in any way,
please just send me a note
Yes, 1 am a real person! Sara www. OpenHere. com
Don Lambert
dslambert@compaq .net
Abed"
Now sometimes the sound doesn't work in the 2068,
but the problem is intermittent ! For example, sometimes,
when I use jack Dohany's DFM, it BEEPS upon loading
itself But, just now, it does not BEEP.
Oh, BTW, the sound generator works, but the BEEP
is not working right I expect no problems, playing some
of Joan's pr ogr ammed songs
'KEEP ON TIMEX'n !
David E. Lassov
Most iikeiy it is the sound chip pins not making good
contact after so many years. Your best bet would be if you
know of someone who could remove the chip and then re-
install it into the soc ket.
I only have enough Spectrum EPROM's for a project
I've been working on with Alvin Albrecht Alvin designed,
and I have been putting together, some Spectrum emulator
cartridges for plugging into the 2068 dock port 1 still need
to solder a part on each board and test: them. I'm not even
certain that the LarKen version of the EPROM's will work
on these boards yet Take care,
Jack Boatwrigfat
Sir
You inquired as to keeping the John Oliger Co ad in
ZXir QLive Alive? Yes, please do I I get very few- orders
for TS2068 products nowadays, but still carry pretty much
everything for this computer .
Thank you for the support! ! ! i
John L. Oliger
joliger@mindspring..com
Spring 2000
We thought you'd like to know that
DeCourtney. CATUG) passed away November 29,
1999. His death was caused by double pneumonia He was
only 47
Jeff was always grateful of the extensive help that
you gave him T/'Sing Before he died he had worked up to
a 486 computer, had taken courses in Windows, etc., and
used e-mail extensively, especially with relatives.
We miss his good natured nresence very much. He
was Lois' only son and had lived with or near her all of his
| life. He suffered from a variety of health problems
! throughout his life courageously and perhaps his passing is
a blessing although his loved ones, and especially his
mother, can never get over the Loss of one of her children .
We thank you for all of the time and attention that you
gave to Jeff May God bless you .and yours Sincerely,
Lois (mother of Jeff) and George (stepfather) Plondke
JtS^
D. €?, Smith
Vice Chairman
Tape & JLO PB Library
The last issue ofZQA!, Winter 99, to Denise Smith was
returned marked - Deceased
SINCLAIR E-MAIL LIST
Anderson, Paul
pan.dersn@peakpeak com
Anson, Gerald
j errya@aztee, asu, edu
Barker Robin
robm@,di-ren. demon, co . uk
Bennett, Dave
dbennett 1 0@desuperaet.net
Boatwright, Jack
j boatno4 @outlawnet.com
Boehm, Al
boehm/Sziolink net
Boehm, Bill
boeh m @ p] h . af mi !
Burt, Richard
ajb@mtranet.ca
C. A. T S.
mf0002@eptl2 . epfibalto . org
Castro Antonio
castrox@porto web . com. br
Catotti, Christopher
kd4ace@eompuserve . com
Chambers, George
gfcharnb@pathcom. com
Collins, Bill
bcollins@home. ifx. net
Cottreil, Les
jacotire@gte.net
Craz-Figueroa. Jaime
ciix/nguer@aoi com
Dansby, Andrew
adansbv@ailantic. net
ri „.'W
Davis, Frank
fdavis@iquest . net
Dunbar, Douglas
dldunbar@prodigy . net
Dunnet, Ron
ron@qubbesoft.freeserve. co.uk
England, William
wengland@iname. com
Fena. Al
alfenafSiuno.com
Fink, Mike
domino.cubes@excelsior.net
Fink, Mike
domino . cubes@pointbiank. com
Firshman, Tony
tony@fif sh man. demon.co. uk
Franke, John
j . m. lranke@larc.nasa.gov
Ganger, Gary
gangerg@dma.org
Gilbert, Robert
weena@netzero.net
Gilbert, Robert
mcs rjg@hotm.ail. com
Gillesoie, Doug
aa43 1 @cl e veiand. freenet. edu
Girnius, William j girnius vv@bls.gov
Gowen, Rod j ej3 77@freenet. carletonxa
■ Harhit Ken
3 Hpndpriieht Mike
krh(} : j(77)cvin frpsno com
l\-L LJL\J — ' \ V L yj , .1.1. vOliU . \J\J LLL
iTiikphpnnff^iTiirrosofT rnm
1 11 llVvii vilU-U-u Hi I vl VOUlL vUlli
WM TT .. T7„ _ _1
mam riftlTl ri'fi(l
Of ^ til i It'/T) 11 1 MO COfTrt
*w» i cti iui vy v j " • vv/i ii
o^B i TY1 i*^ i*1T~P^/^ Run
T'OfihuT)! Ivrht^Mpr^H he T?i
t V/ U.il\tV,115i£jlll,0 *^ **« U v . vCi
mm l-Turjt^inQ lomac
llUlUUllj], JUlllVO
j w 1 1 x_t l lrvt^vti, ity iti. livt
mm Trnnpjf izprn inhn
iimnpi M7prrii?7)rnnini] ipr\/f* mm
m T>i>m i vi ?i tr h i s s
111 Ul Ull ClCl del I J * JLt/. 1 1 1 1 .1 Ilti. i7V 1 I LA I V-y .. Ulvj
Jonas, Mike
inionasi'S/HhTi com
---^
>an VV j la.. jv/Ii>-'ij\i--£/vA j . i. LiiCi- , \jKJ . Ll-iV
WS Torif"5 Terrv
H TCaczor. Jon
I Kahale Abed
^kabalft^cotnnuservf 1 com
H Kealv Harriet loan
hikealv/7/)adinin hilcnnpt mm
B Kennv Larrv
larkpnfSstnrm r,a
ICll IVvll^vt/,Olvi 111 , vCl
FCinffsiev F,d
edk4//7)aoi com
Kondrae Mike
tti 1 1 H fa crtTS^n ] p.otiri
1 1 ll\CJ-i lul Civ\ Lt^CtV/ 1 - \rf\J 111
K on i ^ T It's
K wit Wo wski Ph il 1 i n
kwit47f5)floi rom
i .anci/iiilt Francois
francois . Ianciau twfterier gies alstom.ca
6manon('S/fi7STaTTir:t rnm
V/ 1 i lu.1 lvll\tt', Cixju Llll 11\> L , VJ V-/Z11
S La Verne Mel v in
11 11C4- V V> * ilV^Vly/Vt Oil. ■ livt
9 F .f>bowit7 Davp
dlcl^rftiliv com
n liehpti"/^f)f-onlin^
2 Mallov, Bob
74776 ?342/WcomniiQ^rvp com
9 McBrine William
wmrhrinp/^7)rlark npt
VV Illv/L/J. 1 1 1 V\ VUKsMXl IV.Uvl
9 McKelvev William
fiickelvftvwto)dpinhi mm
1 1. 1 VIVv 1 V V VV \\-\J,\X\jl. L/ L 11 . VUill
i'i^i ]V!er7 loch en
impr7f7?)t-oriHnp Hf*
j 111 VI -tj\Ll^t V^llilllW. V*V-
M«r/ Ftiche^o
JUvl 1VH1 llVl £-+\%st/,J 111 o. vUlil
Miller Sevmour
i.v nil vi .j uj\^y iiivvii.
S(^vmil/5)Hp]nhi com
Jv y liii i \ i-tv, vi v> l i/.i.i.i . vvUi
Muth Bob
hohkppnpr ! /7/)3o! com
N ori on ( f?? rv
crnort on f/hvwnv\ti otri rnm
gSfLLKJl vV/ll\Cly W \Ji IKX.^LKJL.K^yjllL
\ $\\&vx iohn
- ■» - -
i o 1 1 &&t r {f'/)'tv\ m ri stiH hoc om
Parrish Oil
oil narrishiSahanpt ore
MM ) 1 1JI IA U/.UU Ctll V/L . Ul ii.
Pashtoon Nfizir
nazir Dashtoon(3' , inaram. micro com
Paul F-Tolrnw'fn
rsaiilholiT5/f?)inHv npf
j ... • ! jj a jr ! i C V i^ivl'Lvviii
Pazmino. John
iohn rW7inino/fl)mnnnHno mm
Perrv f .! i k p
uuiu y ~J ^ \ LLf, v ell i v/^v . uulii
< sif)nda t ;hf?3'}pnf prart mm
Ramnoiia Top
mramnoilflf/vjrtia^pnf 1 ! npf
Rigter, Wilf
rigter@cafe.net
Rish John
7460 1 . 1 53 5@compuserve.com
Shepard, Jay j jshepard@netins.net
Simon, Thomas
73 1 77.333@compuserve.com
Skapinski, Tom
tskapins@juno. com
Smith. Dennis
denny . smith@ juno . com
Solly, David
ac.3 5 5 @ freenet . carleton . ca
Slfpcxrrian Dan
danesteg@juno com
Swenson, Tim
swensontc@geocities.com
Swenson, Tim
swensont(S>sircli ve. csd. sai . com
- — &c .... as: . — ,
Swentko, Wally
wswentko@maroon.tc.umn.edu
Swoger, Robert
ceng 1 08@email .mot. com
Taylor, Jeff
jetaylor@mdrobotics.ca
Thoresen, Jeff
74200.257@compuserve.com
Waidman, Stephen
brogi ne@hotmai 1 . com
Walterman, Don
walterm@ix. netcom.com
Watson, Keith
keith watson@juno ..com
Wood, Roy
qbranch@qbranch.dernon.CD.uk
Zimmerman, George | gzimmer928@aol.com
From The Chairman's Disk S
Donald S. Lambert
H have started a project that I will describe I am going
■ to try to many a Weirdo to a TWAIN A few
H definitions are in order: A Weirdo is anything
plugged into the Z88's 9 pin serial port according to the
book "Z88 MAGIC" A TWAIN is "Technology Without
An Important Name" and by definition a standard for
acquiring graphics, such as input from a scanner, computer
video, or something else that brings graphics into the
computer. And text is a form of graphics
~1M~ here is a kit (Z88 PC LINK II) that contains the
■ hardware and software to interchange Lotus and
I Hi WordStar files between your Z88 computer and an
IBM PC compatible computer. It comes in a box that is
7.562 X 7.562 X 2.312 inches. The box contains a 5.25
diskette, ROM card for the Z88 and a Z88 serial cable with
a 25 way D female connector and a PC-LINK USER
GUIDE, The box also contained a 3.5 diskette with a hand
written label that I worked fr om
H nitially I tried to copy the disk to hard drive by way of
I DOS and Windows and I kept getting all kinds of
IH reasons why it could not be done with the majority of
the reasons stating that I was not in DOS. Finally I read the
User's Guide. There I found the instructions for installing
PC-LINK to either another floppy or to the hard drive So
at first I tried to get it on hard drive Step one was to Move
onto the hard drive by typing C Aha! From having looked
at my DOS 5 User's Handbook I knew that was a DOS
command Next was to type cd \ to move to the root
directory, Create a suitable directory for the PC-LINK
software by typing; ad PCLINK Move into the new
directory by typing: cd PCLINK. Copy the PC-LINK
software onto the hard drive by typing copy A:* * You
will see the files as they are copied across
ut after that I read further in the manual and
learned that when files were transferred from the
Z88 to the PC they are put into whatever memory
the software was in And to avoid overloading the hard
drive (is that possible with a 13gig hard drive?) I decided
to transfer the files to a three and a half inch 1 44 meg
floppy I also copied it to a 720K 3 5 floppy But for some
reason the 1 44 meg floppy was listed as a 720K
~W~ hen I discovered that I had to copy the MS-DOS file
II COMMAND COM to be with the PC-LINK files be
it on hard disk or floppy So every time I tried that the PC
objected and stated that I was either in DOS and couldn't
do it or that I was in Windows and couldn't access DOS
files . After having the computer lock up a couple of times I
decided to copy the files I had on hard drive in case the
computer crashed That is the word-processor files I had
created In doing that I had to read up on the procedure of
how to do it. And of course I ran across the procedure for
making an emergency back up disk for use if I had to
reconstruct the hard drive programs I had already done
that and so I checked that disk and I found the file
COMMAND there in the directory,
~W~ he manual for PC-LINK has the procedure for
II copying COMMAND to the disk It is not
ZXir QLive Alive! 9
complicated but to copy that one file I had to change disks
since I only have one 3,5 drive. I had to put the original
and the copy in several times (I think a total of 4 each)
before the process was finished
Now with that hurdle over with I had to connect up the
Z88 to the Compaq The cable has a male nine pin D
to connect to the Z88 9 pin female That is fine and dandy
But the other end of the cable is a 25 way female and the
Compaq has a 9 way male So I needed a serial adapter for
the cable. So I had to go to Staples to get one
I also have a LASER PC3 that is somewhat like a cheap
version of the Z88 which also can be up and down
loaded to a IBM compatible PC Somehow I lost the disk
of software that came with the LASER PC3 to be loaded
into the PC to receive the files or to send the files
Is there anybody out there that
can send me a copy on a 3.5
floppy? Or even on a 5.25 disk?
\WT\ lugged together with all powered down I then
powered up and tried the file transfer from the Z88 to
the PC The window of the Z88 directory came up on the
PC and I proceeded per instructions but! I never did see the
file in the PC That is where 1 am stuck right now Is it lost
in cyberspace or is it hiding some place in the PC where I
haven't thought to look I even looked in the directory of
the 3 5 disk and didn't see anything
ill J opefully, I will get more insight into the problem
|H I by the next issue I will be reading and trying this
H I and that till it works And when it works I will be
reporting it
C:\>DIR A:\
Volume in drive A is EMPTY
Volume Serial Number is 374D-3BBF
Directory of A:\
ISOIBM
EXE
12,271
08-
01
-97
3:
57a
IBMISO
EXE
12,271
08-
01
-97
3:
58a
PCLINK
EXE
97,277
08-
01
-97
3:
58a
READ
ME
2,762
08-
01
-97
3:
59a
PCLINK
HLP
7,369
08-
01
-97
3:
59a
SETUP
BAT
5,818
08-
01
-97
3:
59a
WTP
EXE
32,471
08-
01
-97
3:
59a
PTW
EXE
43,597
08-
01
-97
4:
00a
PTL
EXE
64,164
08-
01
-97
4:
01a
LTP
EXE
64,364
08-
01
-97
4:
Ola
10 file(s) 342,364 bytes
0 dir(s) 385,024 bytes fre
Since you are in DOS, I would make a new
directory, then copy from A: to that directory.
C:\mkdir PCLINK (Make dir.)
C:\A:
A:\copy *.* C:\PCLINK
C:\ DIR > PRN (To print dir.)
Spring 2000
FUN WITH HARDWARE PART I - THE PLATFORM
By Jeff Barrell
INTRODUCTION
M first computer was a Sinclair ZX-81 that was
purchased while I was in the US Air Force
stationed in the U K At that time I was a
technician working on advanced microwave satellite
communications equipment and had access to a Hewlett-
Packard minicomputer with a FORTRAN compiler. This,
along with my programming experience in college, led me
to purchase the ZX-81 when I saw it advertised in a British
electronics magazine. Over the five or so years that I used
that computer, I learned to program in BASIC and hand-
assembled machine code and to use the features and
limitations of the "little black door-stop" to the fullest
While stationed at Offutt AFB, I had a co-worker that was
moving up to a CP/M based computer from his TS-2068
When I saw the 2068 I knew that I wanted it. I had been
impressed by the functionality that Clive Sinclair had
managed to squeeze into the ZX-81 and from examining
the documentation of the TS-2068 1 saw that this was a
machine with much promise I bought the machine and
started programming right away and found, as expected,
that there was much to like about the 2068
s time moved on, so did I, and so the 2068 was
packed away in a closet I moved on to MSDOS
■ based computers because of the needs of my job
and forgot about the 2068 for a few years I did finally
unpack it to try some hardware experiments with a
Memopak modem and much to my chagrin blew out
several address lines on the CPLD, effectively making the
machine worthless. By this time Timex was well and truly
out of the computer business, the internet was still in its
CU U1C
infancy, and I had many other responsibilities, so I
repacked the computer and put it back into the closet
mostly for sentimental reasons My present position is
principal design engineer for a medical device company
doing primarily analog design. About a year ago, the pace
went from insanely busy to simply insane and I was
looking for a hardware project to do at home I was
especially looking for something that was primarily a
digital design since I had not done anything in the digital
domain for several years I was surfing the net looking at
various retro game and computer sites when I ran across
several web sites devoted to the Sinclair computers
When I found out that there was still an opportunity
to work with the 2068, I took it With help from
Abed Kahale, Alvin Albrecht, and especially Jack
Boatwright I managed to get my hands on a mostly
working 2068 Its only deficiency is that the TV output is
inoperative but this is not a problem since I have a
composite monitor that works well with the 2068 My
surfing led me to Alvin Albrecht and his idea for an FPGA
for expanding the capabilities of the 2068 I worked with
Alvin for a while and have since lost contact with him
(Alvin, if you are out there please e-mail me) His ideas
meshed well with my own, and I decided to design and
build a prototype that would test some of the ideas he and I
discussed
SPECIFICATIONS
I developed the following specifications based on a
combination of hardware availability, my personal desires
for learning new skills, and the fact that the first prototype
would be a hand-wired point-to-point affair. See figure 1
CPLD
U4
m j M712XPLCCH4
-|3 MJ0 131
jCSIiUU .if
MKMORY
SOI
SUA
r> nam in
> SCI
■■ Z> sua
O "MSKMA-21
UNI)
==C3fi =Jrcts
T' T' P
r:m sU
?IV ^j^y 10 ~y~ f " 11
Fig. 1
Reset Buffer
ZXir QLive Alive!
10
Spring 2000
for the prototype schematic.
MEMORY 5 1 2K SRAM
256K Flash
8K serial EEPROM
PERIPHERALS IDE drive interface Centronics
compatible printer Interface High speed
synchronous serial Interface usingFPGA
or CPLD Memory is accessed using
nROSCS from the 2068 bus
CONTROL
All 170 ports will be switch selectable in the $00 to $7F
region to be compatible with the TS-2068 architecture.. I
had purchased several 512K SRAMS when I upgraded my
Z88 and had them on hand. I wanted to allow plenty of
elbow room for programs in my expanded 2068 and
thought that 32 8K RAM banks would allow for code
switching between several resident programs. The 25 6K
flash devices (28F020) were available from PC controllers
we use here at the shop (we can't reuse them in product
and there are only so many that we can use in prototyping)
I think of the flash as primarily a solid state disk that is
also available as memory at boot time through the normal
dock bank services to initialize and install any extensions
to the 2068 OS I have also thought that this could be used
to completely replace the onboard 2068 OS to fix the
ROM bugs listed in the technical manual as well as allow
the channel services to be expanded past those provided in
the original OS release
«B*e one problem with these devices is that the entire
I 256K array must be programmed at one go. This
^ makes them rather cumbersome to use as normal non-
l'l>[o
\plm
Ports 8 7 9, JO, 1 1
F
PAU
H»--SKT,.
m
u:v
US
a*.
WTT
KKSKT
ST
PAU
PA1 •
PA3 .
C/U •
fHA
PAJ ■
f Ae ■■
PA! -
HKII -
Pttl !-
I'B2
PRi
PB-1
PB.5
PR*
FBI
ill n
I ll 1 1
PCIi
PCI
pr:
per.
i<:t
PC:"
pen
IX"
<JND( j j-
Dllm
-mm
' HI 115
ODAI
nlllxrsu
iiOiiivh
U3
8255A-5
volatile memory and more suitable as a flash disk Digikey
stocks a 4Mbyte flash module made by Toshiba that cost
about $17 00 and are configured to act like a flash disk
with nominal 512 byte "sectors." These devices look very
interesting and I may incorporate them if I can "dead bug"
one onto the prototype. For you Z88 folks (like me) add a
PIC controller for a serial link and command processor and
these would make really good mass storage for you too!
Ah, so much hardware, so little time.
*|*he 8K serial EEPROM was used in a previous product
I and would make a good place to store configuration
^ information and perhaps development code before
burning it into the flash
I have always been chafing at the fact that the 2068 did not
have good mass storage available I did purchase an
Exetron Stringy Floppy for my ZX-81 and found it to be
eminently useful, but still not up to par with even floppies
I had also thought about designing an IDE interface, so this
gave me the chance The web has several very good
resources on the IDE specification and I used them to help
design the interface This implementation uses and 8255
PI A to drive all of the lines to the drive. This will be
slower than if the drive was connected directly to the bus,
but I thought that since the file sizes are relatively small,
the perceived performance should be acceptable The pull-
up resistors on the IDE 8255 are used to ensure that the
drive does not get accessed on power-up when the 8255
lines are all inputs and the levels are floating By pulling
the device selects (nDDCSO, nDDCSl) and the read and
write controls (nDDRD, nDDWR) high, the drive will not
be inadvertently selected
t.:Nl)f-
Kl
hi.:q
i)U>
i in i
OND(-
nnio
M r>-
-Kjv
nOASPl
SB:
M 0—
to b--
'hKAJJHK 10X2
nDDCSl
CNIi
IDE Interface
ClOK
Fig. 2
C1N»| 1|_
Ports 4, 5, 6, 7
n a:
PD2
vtx*
Mi
PlJH
Pllfi
P157
2i
ni'HU
5 1
ni»WR
PAli
V 1
PA1 K
HK-Sl-'T
tiCS H.I.I r>
D5
l)h
m
wir
All
Al
PAil
PAI
pa;
PAJ
I'M
VAf
PA/.
PA1
I'Dti
PBJ
I'BJ
PBt. •
pai
I -co
PCi •
PCi ■
Wj •
PCI .
PC5 ■
PC* -
PC? ■
U2
8255A-5
4^
1 .HIM
TJjjNJ
Centronics Interface
g.vm
ipi:«»
i phi
I-P1M
TTTTr"
»Al'K
HKAJJKH l ie
1
s
7^
- -
1 IS! I KIN
7
K
IHNO
— c
)U
J UNI
1 I
12 t
van 2
— (J
1 .i
M !
—a
LA
17
— a
1.PD7
— c
IV
TTi^
— c
2)
t.PiW
2 1
-1
MKAJ3KK J 'X:
|S=:.
High Speed Comm
ZXir QLive Alive!
11
Spring 2000
It seemed to me that I had to include a Centronics port if at
all possible simply because it is so useful. Implementing
the port with another 8255 gives me the flexibility to make
it whatever I want . At the very least it allows me to use a
printer with the 2068 and it would also allow use of ZIP or
LS120 drives with the machine
"■■Hie 8255 Centronics chip has several unused I/O lines
■ that are used for a dedicated high-speed link that
^ allows communication with a PC through the PC
parallel port. I thought that using a semi-parallel port for
high-speed communication (ala Zip drives etc ) would
allow for fast uploading and downloading to and from the
2068 to my PCs This would allow for developing code on
the 2068 or the PC and transferring files either way. My
PCs are on a network here at home and it would be nice to
have the 2068 access the network through this high-speed
link.
The control logic for the board can be complex, so I
decided to use an FPGA (Field Programmable Gate Array)
or CPLD (Complex Programmable Logic Device) for the
control logic. I settled on the Altera EPM7128SPLCC84
primarily because
1. I thought that it would have enough logic resources
2. The device is flash based, so it is programmed on
power-up SRAM based FPGAs require several
milliseconds to configure from their external serial
EEPROMs
3. I had access to the Altera development tools
4. The devices were available at work My boss kindly
agreed that I could use the experience
5. The CPLD is in-circuit programmable - no special
programming hardware or software is needed.
s it turns out, the 7128 is a little small for this
project. The memory mapper circuit requires 64
Watches, and the other functions require somewhat
less than that. During the design process I found that I
could not fit all of the desired functionality into the 7128
It turns out that it was a routing problem and not a
deficiency in logic resources. I did find that I could fit 4
map registers into the chip (16K banks) so I opted for that
solution This is a little disappointing, but I thought that it
would still make a useful project . I will eventually turn the
prototype into a PCB and, when I do, I will either use a
7160 CPLD or an EPF 1 OK 10 FPGA. Either of these
devices will give me the extra logic to implement a full
memory mapping scheme. The CPLD also performs the
I/O address decoding and provides the port to access the
serial EEPROM
* «*he prototype was hand-wired on a Vector pad-per-
hole perf-board. I chose point-to-point wiring
primarily because it would allow the prototype to fit
onto the back of the 2068, wire wrap pins would have been
much too long I also have had good luck with point-to-
point wiring on analog and digital prototypes of this
complexity in the past. I will try to post a photograph of
the prototype in the future
DEVELOPMENT TOOLS
My software development tools are a rather mixed bag. I
am using a cross assembler that has no relocation
capability This has not been a problem so far, but I am
looking towards using an assembler I found on the Z88
Forever website Even though I usually program in
ZXir QLive Alive! 12
progr
A
serial
J 1
^1 r
BASIC, I have also found a C compiler on the same web
site that I will also evaluate for coding most of the rest of
the operating system code. I have heard mention of a
compiler for 2068 BASIC and think that it could make an
interesting alternative.
| found that I needed a way to step the code to test it out
I before crashing it on the 2068 I modified a public
domain Z80 emulator that I found on the net to include
emulation of my interface This required translating the
emulator to my Power BASIC compiler I have used the
DOS and Windows versions of Power BASIC for about
ten years and found the language to be easier to use than C
and very fast - it is a true compiler not in interpreter like
Visual BASIC I highly recommend this language for use
on the PC where portability to other platforms is not an
issue I wrapped a Windows interface (again using Power
BASIC) around the emulator and have been testing it for
the last few days. There are still a few bugs, but it seems to
be nearly finished 1 have been using it to step through my
memory management code and have found it to be
invaluable even in its present state,
| also wanted the source code for the 2068 ROMs to use
I as a guide as well as a basis for modifying the OS I
^1 modified my emulator's disassembler to allow the use
of a table that contained the addresses of the various
modules in the Home ROM and EXROM The table was
generated using data from the PDF version of the 2068
technical manual that Alvin Albrect put on the web. The
use of the tables allowed generating a preliminary
disassembly of the ROM images I found on the net. I then
massaged the listing to make it compatible with my
assembler and started adding comments by using Ian
Sinclair's complete ZX81 disassembly This was most
useful in decoding the floating-point routines along with
some of the tables and data ar eas used by the interpr eter . I
also used a listing of the Spectrum ROM (comments in
German) along with hints from the 2068 technical manual
to generate a final disassembly that had all of the data
tables properly formatted. Finally, after all of these
gyrations, I was able to assemble the final products and
obtain binary images that exactly matched the ROM
images - hooray! I still don't have a completely
commented disassembly and I have not sussed out all of
the operations in the OS, but that is only a matter of time .
GENERAL TESTING
I have so far tested the operation of the memory mapper
and memory control, and the 8255 interface I ran into an
interesting bug when testing the memory mapping
circuitry When I designed the memory mapper, I used the
nROSCS to qualify the control signals to the memories
assuming that it was only active during memory accesses.
Everything seemed to be working well in the initial testing
and so I started more in depth testing During the more
detailed testing, I found that when I wrote to the mapper
registers, the data was also written to the added RAM. I
discovered that the nROSCS was active not only during
memory accesses, but also during I/O accesses if the high
bits of the addr ess bus were in the proper state This was a
caused because the memory mapper registers use all 16
bits of the address bus (via the OUT (C),A and IN
A, (C) instructions) to decode their addresses to simplify
the mapper selection logic. The upper two bits of the B
Spring 2000
register select one of the four mapper r egisters for reading
and writing (at I/O addresses $0000, $4000, $8000,
and $COO0) The low eight bits of the I/O address are
used, as normal, to specify the I/O block to be accessed.
Because of the way the 2068 SCLD works, the nROSCS is
brought low based only on the address lines and is not
qualified with nMEMSEL from the Z80 - EXACTLY as
described in the documentation. Because I assumed that
nROSCS was active only during memory accesses, I was
writing to both the RAM and the desired mapper register.
After qualifying the RAM control lines with the processor
nMEMSEL I obtained the desired operation RTFM
HS COMMUNICATIONS
Testing of the "high speed" serial link has progr essed well
So far I have just verified that the link is operational. I
wrote several small programs to transfer bytes in both
directions between my PC and the 2068 I then wrote the
2068 program in Listing 1 to upload itself via the serial
link to the PC The listing is a translated version of the
byte stream sent to the PC This approximately IK of code
took nearly 30 seconds to transfer . I am now in the process
of writing an assembly program for the 2068 to speed up
the process I do sorely miss bit oriented functions (AND,
OR, XOR, and shifts) in the 2068 BASIC dialect as this
would eliminate many of the multiplies and divides in the
program.
LISTING 1:
0010 GOSUB 9000
0015 GOTO 100
0020 GOTO 200
.100 LET x=PEEK 2 3 63 5 + 2 5 6* PEEK 23636
0110 FOR i=x TO x+102 4
LET b=PEEK i
012 0
0130
0140
0150
0200
0210
0220
0230
3999
4800
4810
4820
4830
4840
4850
4900
4910
4920
4 930
4940
4950
5000
5010
5020
5010
5030
5040
5050
5060
GOTO
507 0
5080
5090
5080
GOSUB 4810
NEXT i
STOP
FOR i=l TO 65
GOSUB 4 90 0
PRINT "received: ";b
NEXT i
STOP
REM send a byte
LET n=16*INT (b/16)
GOSUB 5 000
LET n=16* (b-n)
GOSUB 5000
RETURN
REM receive a byte
GOSUB 52 00
LET b=16*INT (n/16)
GOSUB 5200
LET b=b+INT (n/16)
RETURN
REM send a nybble
LET h=IN 5
IF 2*INT (h/2)=h THEN GOTO
OUT 4,n+8
OUT 4,n
LET h=IN 5
IF 2*INT (h/2)<> h THEN
5050
OUT 4,n+8
LET h=IN 5
IF 2*INT (h/2)=h THEN GOTO
5100 RETURN
5200 REM receive a nybble
5210 LET h=IN 5
5220 IF 2*INT (h/2)<> h THEN GOTO 5210
5230 LET n=IN 6
5240 OUT 4,0
5250 LET h=IN 5
5260 IF 2*INT (h/2)=h THEN GOTO 5250
5270 OUT 4, 8
5280 RETURN
9000 REM set up 8255
9010 OUT 7,138
9020 OUT 4,255
9030 RETURN
MEMORY MANAGEMENT
I have started writing a memory manager loosely patterned
after the LIM 4 0 standard used in PCs. I chose this route
because the LIM 4 0 standard makes a good framework for
both managing memory for data storage and running
overlays in the expanded memory area. It would also allow
a multitasking kernel to be developed that would allow
some very interesting playing with the 2068 . At this point I
am still finishing the routines and only have the memory
movement subroutines to write. These routines will be
rather interesting because I want them to be flexible
enough to move data from anywhere in the home, dock, or
EXROM banks to anywhere else in those banks. The trick
comes because the memory move code must execute from
somewhere and that somewhere may be in one of the
memory spaces to be specified in the move command. I
have examined the function dispatcher code to see how
Timex did it and have some ideas to try, but this will be a
messy bit of code none-the-less Since memory operations
are fundamental to any computer, once these routines are
written I can move on with the other stuff
LAST ITEM
I had mentioned to Abed the possibility of making two
more of these inter faces for loan to others for software and
hardware development 1 would be interested in hearing
from anyone who may be seriously interested It will take
about two months to build the interfaces because I will
want to lay out a PCB to aid in construction and make a
more predictable product.
S.^A1 1
'Alt,
m-
S.P-U
\?A7
A1S
AI7
AilS
AI5
If
RAM
TXT
Cm
i.jy
HM628512
PDfi ,
fW i ; mil. 7| >
Flash
U8
AT28F020
m
Hh
cm
-< SPA ~>
"*SgT""" ~)
~24LC6JASM
I2C EEPROM
Fig. 3
ZXir QLive Alive!
13
Spring 2000
Hacker's Journal
Supporting All QL Programmers #32 December 1999
The QL Hacker's Journal (QHJ) is published by Tim
Swenson as a service to the QL Community The QHJ is
freely distributable Past issues are available on disk, via
e-mail, or via the Anon-FTP server, garbo.uwasa.fi The
QHJ is always on the look out for article submissions
QL Hacker's Journal
c/o Tim Swenson
2455 Medallion Dr.
Union City, CA 94587
swensont@lanset . com
http//wwgeocities.coiWSiliconValley/Pines/5865/index.html
Editor's Forum
irst off, thanks to Herb Schaaf for providing most
of the text for this issue. When Herb gets a hold
of a problem, he does not let go until he knows
all there is to know
Secondly, I wanted to bring up something that has been
discussed in the QL-users mailing list I can't remember
who started it, but there was a discussion on what software
QLers would like to see next for the QL. The obvious, and
non-trivial, stuff was mentioned; a TCP/IP stack, a HTML
browser, color graphics and software to use it, and so on
As much as these are nice, the level of effort to create them
is beyond most QL programmers. What I would like to
see is a list of more day-to-day applications with a much
lower level of effort Once a list is created, QL
programmers could see what others want and take a try at
writing the programs As much as I write software for my
own needs, it's nice to know when others also find it
useful,
o help this idea along, I'm willing to act as the go
between the user and the programmers. I'll take
program suggestions from users and list them on
my web page From there, programmers can volunteer to
work on a program, which I can coordinate so that two
people are not working on the same program. So, if you
have some ideas of what software you would find useful,
send it to me.
Befunge
recently found a new language that has an
implementation that will run on the QL -
Befunge. Befunge is the first two-dimensional
language. This means that the Program Counter, instead of
just going down a line of code, can move up, down, left,
and right. This is easily done by making each Befunge
command a single character
Like FORTH and Postscript, Befunge is a stack oriented
language. Each command either is data to be put on the
stack, or is an operator to do something with what ever is
on the top of the stack Numbers are limited to input via
single digits, but may be expanded by manipulating the
stack. To get 23, you would push 7 on the stack, push 3 on
the stack, do a multiply command (leaving 21 on the
stack), push 2 on the stack, and do an add command
(leaving 23 on the stack). In Befunge it would look
something like this. 73*2+
To then print out the value on the stack, just use the
integer print command, the period (.).
efunge code space is an 80x24 array of
characters The Program Counter starts off in the
upper left hand corner and moves from left to
right. It continues this way until it hits the end of a line
and wraps around to the start of the same line or until it
hits a command that changes its direction
would love to talk about how fun and easy the
language is, but I still have not quite figured it
out. The examples used in the Befunge language
documentation look easy, but the example code that comes
with it is still causing my brain to hurt.
ow as far as running Befunge on the QL - let me
start with a little history on how I ran across
Befunge The Fall 1999 edition of "The Peri
Journal" had the results of the latest Obfuscated Perl
Contest. One of the entries was a Befunge interpreter.
Since the code was rather cryptic (as is all Obfuscated
programs) and I did not know if there were any Perl5-isms
in the code. I tried to get a copy from "The Perl Journal"
web page. Having forgot my subscribers account name
and password, that did not go well Time to try Yahoo!
and do a search on Befunge Look, a nice Befunge web
page, with documentation and a list of implementations.
One of the implementations is in C Not being a C person,
I was not up to the tasking of porting it to the QL. Then I
saw the answer, an implementation in Z-code,
or those that don't know, Z-code is a data file
used for the old Infocom adventure games.
Infocom adventure games are written in the
language Inform, then compiled, and then run with ZIP
(Z-code Interpreter). A version of ZIP has been ported to
the QL and I've used it a number of times over the years
I downloaded the Z-code implementation of Befunge,
unzipped it and fired off ZIP with zbefunge Z5 as the data
file. After some initial complaining about not been run on
a "real" Z-code interpreter, I was able to the main screen
up The Z-Code version has a built in editor, from which
you can then run a program
typed in the "Hello World" example program, hit
the function key to run the code and "Hello
World" was printed out on the screen. It looks
like it works
Once nice feature of the Z-code implementation of
Befunge, is a debug option.. Using this option, you can
step through the Befunge program watching the program
counter move about As the program runs, you can see, at
the bottom of the screen, the top 6-or-so values on the
ZXir QLive Alive!
14
Spring 2000
stack, You can also toggle over to a screen where the
output is shown.
Using the debug feature I am starting to get a hang on how
the Program Counter moves about.
t J his implementation also allows for loading and
I I saving Befunge programs I tried loading some of
*-mmM the programs that come with Befunge, but the
interpreter had an error I then typed in the "Hello World"
program and saved it. When I loaded it back in, I got an
error, but the program then showed up fine. It looked at
the saved file and it has a bunch of extra non- ASCII stuff.
It looks like the saving and loading feature has some
problems, but it does seem to work .
The main web page for Befunge is;
http ://www . cats-eye.com/befunge/
The web page to get the 2-code implementation of
Befunge is:
http://www.meta. demon, co.uk/zbefunge html
Here is a few example Befunge programs:
Listing 1: (Hello World)
v
>v"Hello world! "0<
, : A _25*, @
Listing 2: (Factorial)
v
>v"Please enter a number (1-16) :
"0<
/ : >$*99gl-:99p#v_ .25*, @
A _&:l-99p>:l-: ! | 10 < "
<
Listing 3: (To Upper)
>~: "a"l- s !#■
< < <
• :"z"l+'# A »aA"~- A
Perlpull prose, (required reading)
by Herb Schaaf
"a perl of great precise(sic)" , but limited accuracy
"Optimized for text" they say of perl, that wonderful
Swiss-army chainsaw programming language. But I've
had great fun with numbers, discovering the mathematical
abilities of perl for the QL, version 4.036 as ported over by
Jonathan Hudson We get answers to math problems in
double precision, carried out to 14 or 15 significant
figures, similar to ABACUS. When I tried Tim's dice.pl
(QHJ#30), and put in 2 die with 3 sides, or 3 die with 2
sides (like flipping coins), I got very strange answers
Things (Stotper) didn't add up to 100%, but would come
out under or over. I discussed this with Bill Cable while at
the East Coast QL show He got good and reasonable
answers on his PC laptop using Perl 5, but with QL perl 4
under QLay he was able to get the same funny answers as I
had found.
T -j- | urns out to be in the exponentiation function.
I I This creates a floating point number, and these
can cause trouble when used for counting or
comparisons Exponentiation uses natural logarithms and
rounding errors in the 15th decimal place cause the bogus
answers. I wrote a perl subroutine using an algorithm
similar to the one in the power function from "The C
Programming Language" K&R 2nd ed., section 1 8, page
27 which uses integer values and so far has given the
"right" answers Perl does not use typecasting, so we can't
declare (int)power. Nor can I try "use integer," to see how
that works.
mn the dice.pl program I changed from the
exponentiation operation to a call to the power
subroutine and then the answers came out as
expected.
ut you might ask, how can we make a call to a
function or procedure in perl? The answer is the
use of the perl keyword "sub" before the name of
the function block which is appended to the listing, and the
use of the ampersand before the name of the function
to call it. Another choice is to write the subroutine as a file
which you add to your library and can then pull it in when
wanted by simply asking your main program to "require"
it
Perlpull prose - my adventures with perl pulls prose out of
me.
Purple prose - expletives replete when
recursing a perl problem.
Here's the block to append to dice.pl:
sub power {
local ($base, $exponent) = @_;
$power = 1 - ($base == 0) ;
if (($base == 0) && ($ exponent ==
0)) {
$power = "NaN";
}
else {
while ( $exponent > 0) {
$power *= $base;
$ exponent--;
}
}
return $power;
}
To put it into the library, think, of a
filename for it; (I
used lib_power.pl) and add:
1;
as a final last line.
In QLHJ#30 the three instances of the expression:
( $ s ide s * * $num __di e )
are replaced with the expression -
(spower ($sides, $num_ die) )
rTT~J ow you can either add the power subroutine
f\l I (without the final 1;) to the dice pi listing, or you
J can pull in the library version (with the final 1,)
by having a line added at the beginning of dice pi that
reads:
require "power.pl";
which will pull it. in from your lib_
subdirectory .
To see how the values compare, try this
compower.pl program:
# ! /usr/bin/per 1
# compower.pl for QL perl 4
# H L Schaaf August 21, 1999
# to compare the results of exponentiation in perl with
# a method that multiplies an integral number of times
$ around = 1;
$log_lim.it = log (2**1023) ;
while ($around) {
print "\fThis is round ",$around;
ZXir QLive Alive!
15
Spring 2000
print "\n\n\t please ENTER a number
for the base " ;
$base = &inkey.<STDIN>;
chop $base;
if($base) { $safe_size =
&abs (int ($ log_l.im.it/ (log (&abs ($base) ) ) )
) ;
}
else {
$safe_size = 2**1023;
}
print ,r \n\t (exponents larger than
"/ $safe__size, " are
probably too large)";
print "\n\n\t please ENTER a
positive integral number
for the exponent ";
$exponent =? & inkey .<STDIN>;
chop $ exponent ;
$power = &power ($base,$exponent) ;
print "\n\n\t integral power
" , $power ;
$float_power = $base**$ exponent;
print "\n\n\t floating point power
" , $ f 1 o a t _powe r ;
print "\n\t
.. n ,
t
print "\n\n\t difference is
I!
I
$power- $ f loat _ power ;
print "\n\n\t ENTER for another,
ESC (at any time) to
quit" ;
& inkey;
}
continue {
$ around +■+ ;
}
sub power {
local ($base, $exponent) = @_;
$power = 1 - ($base == 0) ;
if (($base == 0) && ($exponent ==
0) ) {
$powe.r = "NaN" ;
}
else {
while ( $exponent > 0) {
$power *= $base;
$ exponent — ;
}
}
return $power;
sub inkey {
sysread(STDIN, $ inkey, 1) ;
if (ord($inkey) == 27) {
print "\b \n\n\n\t\t";
exit ;
}
return $inkey;
sub sgn {
local ($n) - @_;
return ($n <=> 0) ;
}
sub abs {
local ($n) = @__;
return ($n * &sgn($n));
ther folks have written all sorts of things for perl
that can be "required" and used. Two
numerically interesting examples, bigint.pl and
bigfloat.pl (which itself pulls in bigint.pl), are in the library
provided by Jonathan Hudson. I found them fun to noodle
with, so why not give them a try if you're into math and
want to see results carried out with great precision You
can set the number of significant digits to be "arbitrarily
(?)" large.
Here is the result of my noodling around ;
# J / usr /bin/perl
# bigflopintdemo.pl bigfloat.pl and
bigint.pl in QL perl 4
# H L Schaaf August 21, 1999
print " a small demo of big floating
point and big integer operations in
perl";
print "\n please wait: for required
module (s) to be pulled in from the
library" ;
require "bigfloat .pi" ;
$ around = 1;
while ($around) {
print "\f this is round ",$around;
print "\n please ENTER the first
number " ;
$nl = & inkey. <STDIN>;
chop $nl;
$va.lid answer = 0;
print "\n choose an operation by
touching the appropriate key\n";
print "\n [P]lus, [MJinus,
[T]imes, [Djividedby
print "\n [R]aise to an integral
power, [Slquare root (these take
time) " ;
print "\n\t\t [Gjreatest common
denominator \t " ;
while ( ! $val.id_answer) {
$op = &inkey;
if ($op =~ / [pPmMtTdDrRsSgG] /)
{ $valid_answer = 1;}
print "\b \b";
}
print "\n\n";
if($op =~ /[sSdD]/) {
print "\n How many signifigant
digits wanted ? ";
$sig_digit.s = Sinkey . <STDIN>;
chop $sig_digits;
}
else {
$sig_digits = 1;
}
if ($op =~ /[sS]/) {
ZXir QLive Alive!
16
Spring 2000
}
print "\n\t\t please wait \n";
$started = time;
$f = &fsqrt ($nl, $sig digits) ;
else {
print "\n please ENTER the
second number ";
$n2 = &inkey.<STDIN>;
chop $n2;
if ($op =~ /[rR]/) {print "\n\t\t
please wait \n"; }
if ($op =~ /[pP]/) {$f
&fadd($nl, $n2,$sig_digits) ; }
if ($op =~ /[mM]/) {$f
&fsub ($nl, $n2, $sig_digit.s) ; }
if ($op =~ /[tT]/) {$f
&fmul ($nl, $n2, $sig_digits) ; }
if ($op =~ /[dD]/) {$f
&fdiv($nl, $n2, $sig_digits) ; }
if ($op =~ /[gG]/) {$f -
&bgcd($nl, $n2) ; }
if ($op =~ /[rR]/) {$started =
time; $f =
&bpow($nl,$n2) ; }
}
if ($op =~ / [rRsS] /) {
$elapsed__time - time
$start.ed;
print "\n\t that; took about
", $elapsed_time, "
second", ( ($elapsed_time == 1) ? " " :
"s"),"\n";
}
print "\n", $f, "\n";
print "\n " , &withdecima.l ($f ) ;
print "\n touch ENTER for another
demo or ESC (at any
time) to exit ";
& inkey;
print. "\f";
}
continue {
$ around ++ ;
}
sub inkey {
sysread (STDIN, $inkey, 1 ) ;
if (ord($inkey) == 27) {
print "\b \n\n\n\t\ t " ;
exit;
}
return $ inkey;
}
sub withdecimal {
local ($bigfloat) = @__ ;
local ($number, $ exponent ) =
split ( 'E T , $bigfloat.) ;
$decimal_place = (length ($number) )
+ $exponent;
if ($exponent > 0) {
$number = $number.("0" x
($ exponent) ) ;
}
if ($decimal place>l) {
$bigf loat_wit.h_decimal =
substr ($number, 0, $decimal_place)
. " . " .substr ($number, $decimal_place) ;
}
else {
$number_lead
=substr ($number, 0, 1) ."0.";
$zeros = "0" x (1 -
$decimai_place) ;
$bigf loat_with_decimal =
$number_lead. $ zeros . substr ($number, 1) ;
}
r e turn $bigfloa t_w i t h _de c ima 1 ;
}
sub bpow {
local ($bbase, $bexponent) = @_;
$bpower = 1 - ($bbase == 0) ;
if ( ($bexponent == 0) && ($bbase ==
0)) {
$bpower = "NaN";
}
else {
while ($bexponent.) {
$bpower =
&fmul ($bbase, $bpower) ;
$bexponent--;
}
}
return &fnorm ( $bpower ) ;
}
magine how we could embellish this by adding
trig and other math functions. We could even
create a general purpose ("general perlplus"?)
scientific calculator with store, recall, memory registers
and such, maybe it has been done already and is on
CP AN Of course half the fun is in writing a program
yourself, and the other half is debugging and getting it to
work
□ tend to think in in BASIC, my first programming
language, so have tried to find ways to get results
in perl that are comparable to some of the
S*BASIC commands Here are some equivalents that
seem to work:
INKEY $ (-1)
□ like to have an interactive menu sometimes, and
just want the same action as we enjoy with
INKEYS(-l) in S*BASIC I finally found a way
to do it on the QL in perl. This gets a key from the user
without them having to touch ENTER. The perl keyword
is sysread.
inkey.pl is an example that will detect the ESC key from
the user
# sysread as a way to read inkey without use of ENTER
# inkey.pl
while (1) {
sysread (STDIN, $raw, 1) ;
if ( ord($raw) eg 27 ) {
print "\b \t";
exit;
}
m
ZXir QLive Alive!
17
Spring 2000
$raw.<STDIN>;
else {
$ans
}
chop ($ans) ;
print "\n";
print length ($ans) ;
print "\n",$ans,"\n";
if
'length ($ans)==l) {
if ($ans =~ /[yY]/
print "\n That
}
if
) {
' s a Yes \n" ;
($ans =~ /[nN]/) {
print "\n That's a No \n'
}
}
}
m can't edit the first digit of numbers when I use
this inkey.pl, maybe there is a work-around like
the getch and ungetch in C ? When using QTPI
as a link to UNIX at the University of Delaware, this inkey
subroutine behaves differently; it still works, but seems to
be anticipated or read-ahead in the script There's probably
a better way; how would you do it?
REPeat END REPeat
$ around =1;
while ($around) { }
f 4 n my explorations of perl programs I often want
} I to keep trying different inputs to see how things
**m—M go, without having perl exit after my first
exploration, By putting everything inside in braces after a
while(l) I'm able to get the effect that REPeat , END
REPeat has.
exit; works anytime to break out of the while($around), so
we can test for some condition (like the ESC key being
touched) to end a session.
I use the continue block to keep count of the trips around
the while loop
cjantLnuel
believe that nearly the same effect (except for the
continue) could be accomplished very simply
with the -n or -p switch on the command line.
And of course we could use for loops too. TMTOWTDI
or tim-toady as they say in perl, "There's More Than One
Way To Dolt."
CLS
print "\f";
or formfeed, does the trick when we want a "clean slate"
DATE
Example: $now = time;
the keyword in perl is time
perl's calendar starts in 1970 instead of the QL's 1961,
mused the time function in bigflopintdemo.pl to
see how long it took to extract square roots or
raise to integral powers with the bigfloat.pl and
bigint.pl libraries It took 220 seconds to raise 2 to the
1024th power, and 1 1 seconds to get the square root of 2 to
100 digits, with the Super Gold Card. With a Gold Card it
took 681 seconds for the power and 28 seconds for the
root It took 2 seconds for the power and 0 for the root
with Perl 5.005_02 running under sun 4 Solaris using my
University of Delaware UNIX account via QTPI. It was
nice to see the same program work on both QL's and under
the UNIX setup ,
rrrj hen running compower.pl the UNIX results were
VV I ec l ua l witn no difference between the
mmmm exponentiation operator and the power
subroutine. So perhaps Perl 5 does something with integer
exponentiation that Perl 4 does not
PAUSE(powercycles)
sleep(seconds),
perl's sleep is measured in seconds; the QL PAUSE counts
the power line cycles If no parameter is given both will
wait forever perl has alarm( seconds); but I haven't sussed
it out yet. How do you regain control in perl if you've
done sleep(); ?
CODE("character in quotes") in the QL
is equivalent to ord(Schr) in perl this returns the
ASCII code for a character,
chr($ascii) in perl is equivalent to CHRS(ascii) in the QL
and returns the character for the ASCII code.
\ e coul d start a module of these equivalents and
VV I conversions between QL S*Basics and perl and
mmmM put them into our library as well We might also
try to build an associative array %QLB ASIC _perl hash
following the example of Bill Cable's "English-Spanish
converter" and see how they work and learn how to add
more terms to the list.
ZT~| erl has other ways to pull in snippets, scripts, etc
I and I wonder how the keywords 'do', 'eval', and
*use' work. Anybody want to give us some
examples? Oh, there's a LABEL: concept in perl that uses
'next', 'last', and 'redo'. Anybody want to show us how
those work? How about the termcap.pl items, can we
control the cursor, do ASCII graphics ? What about
bigrat.pl ?
What perl features have you found fun or useful ?
DISKETTE IflEflU PROEM FOR HE Tl ITIEX/Stn C LfllR- 2 06 B
(LarKen DOS Version)
Article <& Program By David Solly
LarKen disk drive is wonderful addition to anyone's
Timex/Sinclair 2068 It allows you to store many
programs per diskette and to access them rapidly , On
the down side, searching through many diskettes
looking for a certain program by cataloguing each diskette
and hunting or, after not using a diskette for a length of
ZXir QLive Alive! 18
time, trying to remember what program "CCat3 Bl" does
can be a major headache One solution to the problem is
the T/S 2068 Disk Menu.
How Does The T/S 2068 Disk Menu Help?
Once you type in the T/S 2068 Disk Menu, (henceforth
TSDM), and save it to each diskette TSDM:
Spring 2000
>
Becomes a permanent part of the diskette which
cannot peal off and become lost,
You can give a descriptive name to each program on
the diskette and provide the USR address for machine
code programs if they are not the same as the start
address (See item "B" in the illustration),
You can add, delete or modify descriptive names and
program file names at will, and,
TSDM will launch BASIC programs and load screens
and machine code programs and display the start
address and length of machine code programs if
supplied.
T . -' S
Pa.s ft m e n u
D-iSK Naftifi; TOOL BOX UQ
3 r-3 tfi
TT5UG Utilities- Menu
screen copier 64.af3T
Gorilla Screen Expander-Copier
Screen Sawe/Recj I l
Characterset finaiysis
Line List plus. CLi ne 9900)
Graphics Replacement
DesK. Top Publisher
copy cat in rape copier
Program Delete
Dos 63433
Hit enter to repeat list
OU = Suitj CRT a Catalogue Disk.
B
C
D
E
F
G
H
I
kJ
K
Selprt — Letter and
Enter C
How Does TSDM Work?
LL. 100-2 50
This section resets RAM TOP - which is necessary if
you launch TSDM using LarKen auto-start - and
restores the data read pointer to the beginning of the
data Line 110 opens stream number four to the
LarKen disk drive and opens stream number three to a line
printer - which is usually an Epson compatible printer
Line 210 prints the banner and line 230 is a DATA
statement in which to record the diskette title
LL. 300-399
T hese are DATA statements in which you enter the
descriptive name for each program you wish to load
There is room on the screen to have twelve one-line
descriptive names which are lettered from "A" through
to "L" (If you have more than twelve entries, then save
several copies of TSDM with slightly different file names
- e g Menu.B2, Menu B3, etc, - and use the current menu
to chain to the previous menu or the next menu.) The
program letters must be assigned in order and be the last
element in the descriptive name. The reason for this will
become clear as we proceed Line 399 is special because it
contains the signal "***" which tells TSDM to stop
reading in data. If your modify this line for any reason, be
sure not to remove the data element " * * *"
LL. 400-410
These lines read in and display the data in lines 300 to
399 in alternating bands of black ink on white paper
and black ink on yellow paper and stops when the
signal "***" is read.
LL. 440-470
^t this point TSDM switches to cap-lock mode and you
are requested to make a selection or type in the
command "QU" or "CAT". "QU" stops TSDM
"CAT" executes the LarKen DOS catalogue
❖
❖
command which lists the contents of the diskette to the
screen. TSDM will pause indefinitely until a key is hit at
which time TSDM runs itself again. TSDM will continue
to loop until you enter your selection
LL. 480-640
If a single letter is selected then TSDM switches off the
cap-lock mode, the data read pointer is set to line 500
and the loop beginning at line 610 begins reading data
starting from line 500 until it reaches the line containing
the data required to load the selected program, If at this
point TSDM encounters the stop sign "***" then the
message "Select Again!" is displayed and TSDM will re-
run after a short pause
Lines 500 to 499 work in much the same manner as lines
300-399 except here is where TSDM finds the data
required to load your selection.
Each DATA statement must have three elements
a properly formatted LarKen file name,
a program start address, and,
❖ a program length address.
Note that the program file names must be entered same
order as the descriptive names
p or a BASIC program, enter zeros for both the start
J address element and the program length element as
TP shown below
DATA "TmenuBl"0,0
I" or machine code programs, you can do as for BASIC
I programs as stated above This is how you would
I load a normally saved screen dump, (i.e. SCREENS).
If, however, the machine code program must be
loaded at an address other than where it, was saved from
then you have enter the start address and the program
length into the DATA statement thus:
DATA "Epmdos.Cl", 63488, 2047
If you do not know the program length put zero as the
last element and the program in its entirety will be
loaded at the start address provided
LL. 65 0-8999
f\ nee TSDM has the load data, it uses the unique
I 1 LarKen extensions to determine if it is to load a
U BASIC program or a machine code program If "B"
is the penultimate letter in the program file name, the
TSDM proceeds to load the file as a BASIC file The
alternative extension begins with "C" If a "C" extension
is not found then TSDM displays the error message "File
type error in file", displays the file name and stops If a
"C" extension is present, TSDM then looks at the start and
length data stored in the variables "1" and "s" to determine
which of the three methods will be used to load the
program. If the start address and length elements are other
than zero, they are displayed before the program is loaded
LL. 9000-9920
S This is the location of the program save routine for
TSDM
S Will TSDM Work With A
S ZX Spectrum Emulator ROM?
Yes, it will work when LarKen DOS is being run on a
T/S 2068 using a ZX Spectrum Emulator ROM, however,
you need to replace line 458 with:
458 IF a$="CAT" THEN CLS PRINT #4: CAT: PRINT
"Hit any key to restart": PAUSE 0: RUN
Once this is done, TSDM will run perfectly.
ZXir QLive Alive!
19
Spring 2000
What About The ZX Microdrive?
I have successfully used TSDM on a ZX Microdrive It
is a matter of removing line 1 1 0, all the references to
PRINT #4, and modify the CAT command, (line 458)
and all the SAVE & LOAD commands to the
appropriate Microdrive commands If you save all your
programs to the stringy floppy using LarKen file naming
conventions then TSDM has no trouble locating and
running them The only possible problem is if you have
more than one microdrive. Then you have to look into
some means of accounting for the drive number - which I
will leave for you, dear readers, or as the topic of another
article
David Solly, Ottawa, Canada, January 10, 2000
Program Listing
1 REM LarKen Disk Menu
2 REM Program by David Solly
3 REM Ottawa, Ontario
4 REM 9 July 1987
5 REM Updated & Annotated 1 January
2000
100 CLEAR 65535: RESTORE: REM Reset
Ram_Top & Restore data
105 REM Open a stream to the LarKen
disk drive and one to the line printer.
106 REM Both commands are LarKen DOS
specific
110 RANDOMIZE USR 100: OPEN #4,"dd":
PRINT #4: OPEN #3,"lp"
120 BORDER 7: INK 0: PAPER 7
210 PRINT ' PAPER 1; INK 7;" T/S 2 0 68
Disk Menu '
22 0 PRINT "Disk Name:
230 DATA 'Tool Box #3"
240 READ n$: PRINT n$
250 PRINT ' INVERSE 1 /"Program";
INVERSE 0 ; TAB 2 6 ; INVERSE 1 ; " Select" :
PRINT
299 REM Descriptive file name start
here
3 00 DATA * TTSUG Utilities Menu A"
3 02 DATA * Screen Copier 642 07 B"
3 04 DATA 'Gorilla Screen
Expander -Copier C"
30 6 DATA 'Pixel Fix D"
308 DATA 'Screen Save/Recall E"
310 DATA 'Character Set Analysis F"
312 DATA 'Line List Plus (Line 9900)
G"
314 DATA "Graphics Replacement. H"
316 DATA 'Desk Top Publisher I"
318 DATA 'Copy Cat III Tape Copier J"
32 0 DATA 'Program Delete K"
322 DATA 'Dos 634 8 8 L"
399 DATA ' '/'Hit enter to repeat list
"V'QU = Quit; CAT = Catalogue Disk
»,"***": rem Do not touch!
4 00 READ n$: IF n$<>'***" THEN PRINT
n$ { TO LEN n$-l);TAB 31;n$(LEN n$ ) : GO
TO 410 405 GO TO 440
410 READ n$: IF n$<>'***" THEN PRINT ;
PAPER 6;n$( TO LEN n$-l);TAB 31;n$(LEN
n$) : GO TO 400
440 POKE 23658,8: REM Force caps-lock
mode
450 INPUT ' Select Letter and Enter
LINE a$
455 IF a$='QU" THEN POKE 23658,0: STOP
458 IF a$='CAT" THEN CLS : PRINT #4:
CAT PRINT x "Hit any key to
restart": PAUSE 0: RUN
4 60 IF a$=" THEN RUN
465 REM *** Select The File Module
470 IF CODE a$<CODE 'A" OR CODE
a$>CODE 'Z" THEN GO TO 44 0
480 POKE 23658,0: RESTORE 500: REM
Release the caps-lock mode, reset data
490 REM Real program data starts here
500 DATA ' Tmenu . Bl" , 0 , 0
502 DATA 'Copal .CI" , 64207, 1130
504 DATA * Pander .Bl" , 0, 0
506 DATA 'Pix.Bl", 0,0
508 DATA 'Dump.Bl" , 0, 0
510 DATA » ChaA. Bl" ,0,0
512 DATA 'Llist+.Bl", 0, 0
514 DATA 'Grep.Bl" , 0, 0
516 DATA ' DeskPL . BD" ,0,0
518 DATA 'CCat3 .Bl" , 0, 0
520 DATA 'ProDel .Bl" , 0, 0
522 DATA ' Epmdos . CI" , 634 8 8 , 2 04 7
599 DATA «***", 0,0: REM Do not touch!
600 LET n$=" : LET s=0 : LET 1=0
610 FOR i=CODE 'A" TO CODE a$
620 READ n$,s,l: REM Read in the file
name, start address and number of bytes
630 IF n$='***" THEN PRINT V TAB 10;
FLASH 1;" Select Again!": PAUSE 100: RUN
64 0 NEXT i: CLS
654 REM *** Run the BASIC Program
Module
650 IF n$ (LEN n$-l)='B" THEN PRINT #4 :
LOAD n$
660 IF n$ (LEN n$-l)<>'C" THEN CLS :
PRINT 'File type error in file: ';n$:
STOP
6 65 REM *** Load the machine
code/screen and print the start, address
and length of code.
670 IF s=0 AND 1=0 THEN PRINT #4: LOAD
n$CODE
675 IF s<>0 THEN PRINT 'Code located
at address: ';s: IF 1O0 THEN PRINT 'to
address: ^;s+l
680 IF s<>0 AND 1=0 THEN PRINT #4:
LOAD n$CODE s
690 IF s<>0 AND 1<>0 THEN PRINT #4:
LOAD n$CODE s, 1
8999 STOP
9000 REM *** Save routine
9010 PRINT #4: SAVE 'Menu.Bl" LINE 1
9020 RUN
ZXir QLive Alive!
20
Spring 2000
By Joe Rampolla
Here is how the the T/S 1000 with the I/O board is
set up with my layout
' he relays on the I/O board activate separate relays
which have their own power supply The relays on
the I/O board get their power from the computer. A
relay is activated by POKING the appropriate value(s). All
8 relays are activated by POKING 255
230
235
236
237
238
240
250
027 Train
Track
(B/4) +
//////I
inputs
Byte-Back BB~ t
Input/ Output Board
for the T/SIOOO
PAUSE 40
POKE X, 2
PAUSE 10
POKE X, 0
PAUSE 10
POKE X, 1
PAUSE 4 0
260 POKE X, 0
300 LET B=PEEK Y
301 IF INT (B/4) <> INT
0.5) THEN GOTO 315
302 GOTO 300
315 POKE X, 1
32 0 PAUSE 4 0
330 POKE X, 4
POKE X,l activates relay #1, breaking track
current
POKE X, 2 activates relay # 2, activating the
turnout's solenoid
POKE X, 4 turns on a train station sound effects
tape by way of a tape player
rutin Power
Supply
normally open
Q contacts ©_
Relay on I ft} Board
power supplied by
computer
Example of typical relay
hook up
to I/O boar d
Cp he inputs are done by way of a small light bulb
(J causing the photo
J resistor to ground
the input, which indicates
to the computer that a
particular input is "on" by
way of a PEEK 16381
There is no physical
connection here to the
computer, just the light
activates the input The
photo resistor is wired to
the I/O board's input.
However, in the case of
the output, there is a
physical connection to the
computer by way of the
output board's small
normally open relays, however there isn't an actual
electrical connection to the computer's circuitry. (In my
case, an insulated rail or magnetic reed switch turns on a
small light bulb to activate an input.)
he following T/S BASIC program excerpt will stop
the train, throw a turnout's switch, back the train into
the station and turn on a sound effects tape.
LET X = 16382
LET Y = 16381
LET B=PEEK Y
<> INT ((B/2) + 0.5)
If PEEK Y
/
=1, then input # 1 is grounded and "on "
Train Track
<3 n closed
O n open
,_P tommon
O
Q
Separate Relay \
to:/ £
/
/
Re/ay Power Supply
for separate relays
^'1
Accessory
Layout item
10
20
90
100 IF INT (B/2)
THEN GOTO 200
110 GOTO 90
200 POKE X, 1
210 PAUSE 4 0
220 POKE X, 0
If PEEK Y =
2, then input
#2 is
grounded.
If PEEK Y =
3, then both
input #1 and
#2 would be
on, however
this never
happens
when only
one train is in
operation.
Lines 90 -
110 are a
loop waiting
for the train to hit the track section that grounds input # 1
The input byte is unpacked by line 100.. Only input # 1 is
being checked here When the train reaches this section, the
loop is broken and line 200 breaks the current to the track,
causing the train to stop dead
Line 220, after a pause, re-applies current to the track,
causing the train to be in neutral There is a reversing unit
in the engine that cycles forward-neutral-reverse-neutral,
etc., every time current is broken then re-applied In the
case of a train where polarity is reversed for reverse
movement, then an additional relay is used to change
polarity.
Line 235 activates the turnout's switch machine
momentarily
Line 240 removes current a second time to the track.
Line 260 re-applies current to the track and train reverses
ZXirQLive Alive!
21
Spring 2000
direction
Line 300 - 302 waits for
the train to hit the section
of track near the Te-
station, activating input #
2. Only input #2 is being
checked here.
Line 315 breaks track
current, causing train to
stop.
Line 330 turns on sound
effects by way of POKE
4, and applies current to
the rails, with train now in
neutral with full interior
illumination.
o activate multiple
corresponding
numbers, For
example, if you want
sound effects on all the
time, POKE X, 5 would be
line 200 (1 for relay #1,
and 4 for relay # 3) See
my input/output table,
Simply add up the
corresponding number to
activate relays. POKE X,
36 would activate relays #6
(POKE 32) and # 3 (POKE
4). Unpacking the input
byte is a little harder
Notice line 100
Simply change the value
the B is divided by to
check for a particular input
Power Supply
for smsil blub
iU
( ) Sar/itt tight
w bulb
Photo
resistor
Reed
switch
\
f
J
#8, any number greater than 127 in PEEK 16381 would
indicate input # 8 is
"on." In my case, I only
check for one input at a
time, so I don't need to
unpack the whole input
byte, just one single bit.
Please see the
attachments In the
second diagram, notice
how a second device can
be activated by one
relay, It is best to use
4PDT relays if possible
A relay can do double,
even triple duty, by having different track sections wired to
relays, simply add up the just one relay, and its function would change depending on
I
ground
input
Input on I/O Board
WTPUT
INPUT
#9
#7
#<5
#5
m
#3
#2
#*
POKE
POKE
POKE
POKE
1
POKE
POKE
POKE
POKE
POKE
16382
128
64
32
IS
8
4
2
1
BYTE/
BYTE/
BYTE/
BYTE/
BYTE/
BYTE/
BYTE/
2
4
a
16
32
64
128
>12?
PEEK
*1
# J?
# 3
#4
#5
#6
#7
# fir
16381
Unpack Byte: lf /iV7 - ( 8 / v j <:> ((b/V) + 0.5) THEN etc, 8t\*e/V above.
QUICK REFERENCE INPUT/OUTPUT TABLE
to be "on " To check for input where the train may be at any given time
ZXir QLive Alive!
22
Spring 2000
y n c I a s s i f i e d
Ads
Place your ads here, it is
Mail/E-mail to. A. KAHALE 3343 S FLAT ROCK CT SIERRA VISTA AZ 85650-6874
free!
Please inform and/or update the Editor of any changes in your ad/s
Heme Electronics
Service
We have been a part of the Sinclair scene since 1982, repairing
ZX Spectrums for Sinclair Research in England
We provide Sales, Service, and Software for the
QL, Spectrum, ZX-81 and Z88.
www.members.tripod.com/hes computing/hes I .html
E-Mail 7460 1.1535 @compuserve . com
Hours of Operation is Monday - Friday 1300 hrs. to 2 100
hrs. central time zone.
Phone 210 661-4376
John R. Rish
Home Electronics Service
5222 Kazen Dr.
San Antonio TX 78219 USA
Bill Mathis
Digital Clettrenits
323 SE 28th Ave.
Portland, Oregon 97214
503-232-3200
Fee Ail Consulting, Jnt
2660 N. Houghton Rd.
Tucson, AZ 85749
520-749-5395, fax 520-749-3626
email <proactmd@aol.com>
The John Oliger Co.
11601 Widbey Dr.
Cumberland IN 46229
The John Oliger Floppy Disk System
FOR THE TS-2068
Expansion Board
2068 User Cartridge
Disk Boards "A" & "B"
2068 Parallel Printer Port
2068 EPROM Programmer
2068/SPECTRUM Joystick Port
DFh Mapped Universal I/O Port board
User Manual only : $5.00 (Read before you buy)
joliger@mindspring. com
platypus!
SOFTWARE
E3
QLAMBer $20
QLuMSi $20
SeekQL $10
Upgrades $5
/4l 'petty,
914 Rio Vista Cir SW
Albuquerque NM 87105
(505) 843-8414
Make David Leech an Offer
ZX-81/TS-1000 TS-2068 Hardware Kits
Real Time Clock I/O Controller RS-232
Centronics l/F 16K & 64K RAM 300 BAUD
Modem A-D Converter(assembled)
BYTE- BACK INC
536 Long Ter
Leesville SC 29070
ZX-TEXT - Word Processor
ZX-CALC - Spreadsheet
Business Software
Cycle Accounting Financial Report Generator
ZX-CALENDAR - Time Management
ZX-81 TS-1000 TS-1500 TS-2068
Albert F. Rodriguez
A. F. R. Software®
1605 Pennsylvania Ave 204
Miami Beach FL 33139
305 531-6464
&
ARCHIVE Based QL Software
QLerk - A complete financial program for the QL
QLerk software (v3.21 ) with tutorial $29
QLerk manual $29
QLerk software & manual $50
DBEasy - A menu based database system
DBEasy software (v1 .6) $24
DBEasy upgrade from V1 .5 $7
DBProgs - A toolkit of ARCHIVE procedures
DBProgs software (v1 .8) $18
ZXir QLive Alive!
Spring 2000
DBProgs upgrade from V1 .7 $7
DBTutor - A general purpose learning program
DBTutor software(v1 .5) $1 2
PC DBEasy - Just like QL DBEasy
PC DBEasy software (v1 .3) $12
Bill Cable
Wood & Wind Computing
RR3 BOX 92
Cornish NH 03745 USA
Phone (603) 675-2218
810 254-9878
24 hours a day
300 to 28,800 bps
Supporting all Sinclair and Timex users Fidonet
Echomail arefor Sinclair computers. Lots of new files
for you to download such asTS-2068 emulator for
those who use a PC give us a call and let us know
what you want to see. Message and file areas.
QL International, Quanta, QL Hacker's Journal,
Spectrum/2068, ZX-81/TS-1000, Z88, NetMail,
emulators, pointer, FDFormat for QXL/QDOS, etc.
Sysop John J Impellizzeri
Co-Sysop Don Walterman
Utica, Michigan, USA
ID € im i in c € ui It) e s
Hardware & Software
352 7 th Ave. 1 5 th Fir.
New York, NY 10001
Phone 212 631-7563
Fax 212 947-5069 Voice mail pager 917 490-8407
Domino.cubes@excelsior.net
i
o
1112 Newslett
Tike Long Island Siiiclaii/Tiimex Users Group
Robert Malloy, Treasurer
412 Pacific St.
Massapequa Park, NY 11762
ESQLUG
New England Sinclair QL Users Group
Ed Kingsley, Editor
16 Highland Avenue
Saugus MA 01906
(781) 233-3671 EdK4@aol.com
QL
Hacker's Journal
Supporting All QL Programmers
Timothy Swenson, Editor
2455 Medallion Dr.
Union City, CA 94587-1914
swensontc@geocities.com
http://www.geocities.com/SilconValley/Pines/5865/
Newsletter
The Capital Area T/S Users Group
Barry Washington
7044 Cindy Ln
Annandale VA 22003
301 589-7407
BBS 301 588-0579
I nternet mf0002 @eptl2 . epflbalto . org
Alec Carsweli
Motivation
16 Montgomery Ave
Beith Ayrshire KA15 1EL
United Kingdom
The Ksuntop
Newsletter
The Greater Cleveland T-S User Group
Thomas Simon Editor
615 School Ave
Cuyahoga Falls OH 44221
E-Mail CIS 73177,333
Jon Kaczor Production
4568 Williamson Ave
Brooklyn OH 44144
75363.1 127@compuserve.com
Peter Liebert-Adelt
LUETZOW STR 3
D-38102 BRAUNSCHWEIG
GERMANY
Email: p.liebert@t-online.de
http //home t-online de/home/p liebert/zx-team. htm
Amateur Radio: DK4BF@DB0FC.#NDSDEU.EU
The ZX Spectrum 48/128 Emulator
for IBM & Compa tables: Z80 Version
Turn your PC into a real ZX Spectrum 48/128
=>- Full Spectrum emulation, border, flash, beeper, Interface 1,
ZXir QLive Alive!
24
Spring 2000
Microdrive in cartridge file, RS232 input and output redirection
to file, COM or LPT, joystick support, 128K sound through
Soundblaster or internal speaker, built-in monitor,
=>- Able to load ANY, even protected or speed-saved program
from tape, to save to tape, to redirect tape loads and saves to
disk for easy file access,
=>- 2500 line English documentation.
->- Runs okay under DOS, Windows and DesqView,
- Full source code of emulator and utilities included!
Runs on any 640K PC; too slow for practical use on PC/XT's
but fast enough on AT's, uses VGA/EGA/CGA or Hercules,
This program costs US $20. You will receive a 3.5" DD disk
(5 25" disks on request), and you'll be kept informed about up-
dates. Please send bank notes (bills), name and address to:
Gerton Lunfer
PO Box 2535
NL-9704 CM Groningen
Netherland
If you send a cheque, please add US $15 extra and allow 4
weeks for delivery.
English Office
Miracle Systems Ltd.
20 Mow Barton
Yates, Bristol
United Kingdom BS17 5NF
Tel. +44 1454 883602 Fax,. +44 1454 883602
Editor
Dilwyn Jones
41 Bro Emrys
Tai-Y-Bont, Bangor, Gwynedd
United Kingdom LL57 3YT
Tel. +44 1248 354023 Fax. +44 1248 354023
Items for the Timex\Sinclair Computer
Timeworks Programming kit #1 For T/S 1000 & ZX81 $4 95
Mindware Gulp Game Timex 1000 & Sinclair ZX81 $4.95
Timex Horace & The Spiders for the 2068 $5 95
Timex Sinclair 1000 software on tape
Chess ( 1 6K RAM) qty 5 price $2 , 95 ea
The Challenger I qty 17 price $2.95 ea
Mindware MW100 plain paper printer for the TS1000 or
ZX81 computer made in the US . $45 00
All items are new Please add $3 95 shipping to all orders
MC, VISA, American Express, phone 717-748-1747
Keith Electronics
224 North Grove St
lock Haven, PA. 17745
Jcclier Merz Scftware
The ROMDisk Fully Functional
Extremely small board for the QL's ROM-Port, works like a
permanent RAM disk
In order to be able to upgrade to the color drivers, you need to
have SMSQ/E. The normal SMSQ which is shipped with QXL
card will not be able to handle more colors.
SMSQ/E for the QXL
As Aurora owners will be able to use more colors when the
color drivers are available, another offer for SMSQ/E for the
Aurora plus GoldCard/Super/GoldCard
SMSQ/E for the Super GoldCard
QL Games & Upgrades QL Applications
ProWesS + Applications
Jochen Merz Software
im stillen Winkel 12
47169 Duisburg, Germany
S 0203-50201 1 Fax 0203-502012
Credit Cards accepted
http://www.j-m-s.com/smsq/
e-maii smsquxy-m-s.com
ZX-81 Kit
$30 Plus $10 for S/H
TS-2040 Printers 16K RAM
We Do Not Ship Outside The US & Canada
Checks, Money Orders and Visa or Mastercard
Call 212-675-8414 FAX 212-675-8980
Zebra Systems, Inc.
122 W26th St. Suite. 904
New York, NY 10001
Shipping is by UPS ground.
Basics of Timex Sinclair 1500/1000 BASIC
Allen Wolach, Separately priced $12. 95
BASIC Basics for the Timex/Sinclair 1500/1000
Michael Barnett//Simon Bamett, Separately priced $12 95
The Ins and Outs of the Timex TS-1000 & ZX-81
Don Thomasson, $12 .95
Computer Interfacing Technique in Science TS-1500/1000
Paul Field & JohnDavies, $12 95
ZX-81 BASIC Programming (in Spanish language)
Steve Vickers (Traducido y adaptado) A copy of this book is
shipped free for asking if you just pay for additional shipping
cost Separately priced $10
QL Today is published by Jochen Merz Software. Jochen
Merz has been supplying software for the QL for several years
and has built up a good reputation for quality and fair trading.
The representative in Britain is Miracle Systems Ltd. who take
subscriptions and do the distribution.
Subscriptions
Germany (+German add-on) DM 70
England DM 60 £25
Rest of the world DM 70 £30
Back-issues are available for DM 12 (incl postage)
Checks should be made payable Miracle Systems Ltd.
Sincl ai i* R ac n i j r r p q
wii iwlwlil rXCJUUI LCD
John McMichael (Developer - Graphics)
1710 Palmer Dr
Laramie WY 82070
Keith Watson (AERCO & Z80 Emulator)
41634 Amberly Dr,
ZXir QLive Alive! 25 Spring 200o"
Mt. Clemens, Ml 48038
Rod Gowen (RMG)
14784 S Quail Grove Cir
Oregon City OR 97045-8843
Send them a LSASE and ask for information about
their current products and/or services.
EPS
EPROMS 25
27C2S6
27C612
2732A
27C32
27C128
27C64
2716
2708
27C512-&Q
27CO40
27C400
27C4096
574Q0C
57420Q
27C402
27C020
27C210
27C010
27C1024
28F0ZQ
28F02Q
28F04G
B749H
874BH
B741
B742
8744
SWIC RAM ■ PROCESSOR
HM628128
62256
6264
S255
S254
S0C31
87C51
8751
8755
MC&8HC7G
5C8A
PlCiSC54
WC19C622
GAU6V8
GAL22V1Q
MEMORY
D-ftAMS
SIMM
* Many more parts in stock
* All major brands
* All guaranteed
E-Mail: epromadaolcorn
TEL: (818) 774-9444 • FAX: (818) 774-0822
WE BUY EXCESS INVENTORY
JOHN J SHEPARD III
281 130 th ST
OGDEN IA 50212
< jshepard@netins.net >
Mostly QL &TS-2068
JACK BOATWRIGHT
67325 FRYREAR RD
BEND OR 97701
< jboatnc4@outlawnet.com >
Mostly ZX-81/TS-1000 & TS-2068
TS-2068 ZX-81
^^^^ ^^^k I
Software
ZXir QLive Alive!
Spring 2000